generateSalt static method
String
generateSalt(
{ - int logRounds = gensaltDefaultLog2Rounds,
- Random? random,
})
Implementation
static String generateSalt({
int logRounds = gensaltDefaultLog2Rounds,
Random? random,
}) {
var rs = '';
var rnd = Uint8List.fromList(
List<int>.generate(
bcryptSaltLen,
(i) => (random ?? Random.secure()).nextInt(256),
),
);
rs += '\$2a\$';
if (logRounds < 10) {
rs += '0';
}
if (logRounds > 30) {
throw Exception('log_rounds exceeds maximum (30)');
}
rs += logRounds.toString();
rs += '\$';
rs += _encodeBase64(rnd, rnd.length);
return rs;
}