diff options
author | EdOverflow <diopterasec@gmail.com> | 2017-01-04 16:13:34 +0300 |
---|---|---|
committer | EdOverflow <diopterasec@gmail.com> | 2017-01-04 16:13:34 +0300 |
commit | 563692e565bcaae0c6f805c234de12d156a56c21 (patch) | |
tree | bb4c99e66755c5a2ddb8eb9d0263e40a4173fa45 /js/app/directives | |
parent | f18e4f60e9d8a652d8506f1e23dea54cf2e28d93 (diff) |
Add RandomSource.getRandomValues()
The RandomSource.getRandomValues() method lets you get cryptographically
random values. The array given as the parameter is filled with random
numbers (random in its cryptographic meaning).
https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues
Diffstat (limited to 'js/app/directives')
-rw-r--r-- | js/app/directives/passwordgen.js | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/js/app/directives/passwordgen.js b/js/app/directives/passwordgen.js index f53f3bc2..17231b00 100644 --- a/js/app/directives/passwordgen.js +++ b/js/app/directives/passwordgen.js @@ -130,7 +130,7 @@ if (crypt_obj = null, "undefined" != typeof window && void 0 !== window.crypto ? crypt_obj = window.crypto : "undefined" != typeof window && void 0 !== window.msCrypto && (crypt_obj = window.msCrypto), void 0 !== crypt_obj && "function" == typeof crypt_obj.getRandomValues && rng_psize > rng_pptr)for (num = Math.floor((rng_psize - rng_pptr) / 2) + 1, buf = new Uint16Array(num), crypt_obj.getRandomValues(buf), i = 0; i < buf.length; i++)t = buf[i], rng_pool[rng_pptr++] = t >>> 8, rng_pool[rng_pptr++] = 255 & t } catch (e) { } - for (; rng_psize > rng_pptr;)t = Math.floor(65536 * Math.random()), rng_pool[rng_pptr++] = t >>> 8, rng_pool[rng_pptr++] = 255 & t + for (; rng_psize > rng_pptr;)t = Math.floor(65536 * window.crypto.getRandomValues(new Uint32Array(1))), rng_pool[rng_pptr++] = t >>> 8, rng_pool[rng_pptr++] = 255 & t rng_pptr = 0, rng_seed_time() } SecureRandom.prototype.nextBytes = rng_get_bytes; |