@polkadot/x-randomvalues
Version:
A cross-environment window.crypto.getRandomValues replacement
19 lines (18 loc) • 616 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.insecureRandomValues = insecureRandomValues;
let warned = false;
function insecureRandomValues(arr) {
if (!warned) {
console.warn('Using an insecure random number generator, this should only happen when running in a debugger without support for crypto');
warned = true;
}
let r = 0;
for (let i = 0, count = arr.length; i < count; i++) {
if ((i & 0b11) === 0) {
r = Math.random() * 0x100000000;
}
arr[i] = (r >>> ((i & 0b11) << 3)) & 0xff;
}
return arr;
}
;