use a better random integer generator - fixes #810

This commit is contained in:
dakkar 2024-11-27 09:33:20 +00:00
parent 1ec5e846c5
commit 2e3eaaddcc

View file

@ -14,10 +14,7 @@ export function secureRndstr(length = 32, { chars = LU_CHARS } = {}): string {
let str = ''; let str = '';
for (let i = 0; i < length; i++) { for (let i = 0; i < length; i++) {
let rand = Math.floor((crypto.randomBytes(1).readUInt8(0) / 0xFF) * chars_len); const rand = crypto.randomInt(0, chars_len);
if (rand === chars_len) {
rand = chars_len - 1;
}
str += chars.charAt(rand); str += chars.charAt(rand);
} }