mirror of
https://github.com/jedisct1/libsodium.git
synced 2026-08-26 19:57:13 +09:00
JS target: window.crypto is not defined in webworkers; use self.crypto instead.
This commit is contained in:
@@ -60,20 +60,21 @@ randombytes_stir(void)
|
||||
EM_ASM({
|
||||
if (Module.getRandomValue === undefined) {
|
||||
try {
|
||||
var randomValuesStandard = function() {
|
||||
var buf = new Uint32Array(1);
|
||||
window.crypto.getRandomValues(buf);
|
||||
return buf[0] >>> 0;
|
||||
};
|
||||
var crypto_ = ("object" === typeof window ? window : self).crypto,
|
||||
randomValuesStandard = function() {
|
||||
var buf = new Uint32Array(1);
|
||||
crypto_.getRandomValues(buf);
|
||||
return buf[0] >>> 0;
|
||||
};
|
||||
randomValuesStandard();
|
||||
Module.getRandomValue = randomValuesStandard;
|
||||
} catch (e) {
|
||||
try {
|
||||
var crypto = require('crypto');
|
||||
var randomValueIOJS = function() {
|
||||
var buf = crypto.randomBytes(4);
|
||||
return (buf[0] << 24 | buf[1] << 16 | buf[2] << 8 | buf[3]) >>> 0;
|
||||
};
|
||||
var crypto = require('crypto'),
|
||||
randomValueIOJS = function() {
|
||||
var buf = crypto.randomBytes(4);
|
||||
return (buf[0] << 24 | buf[1] << 16 | buf[2] << 8 | buf[3]) >>> 0;
|
||||
};
|
||||
randomValueIOJS();
|
||||
Module.getRandomValue = randomValueIOJS;
|
||||
} catch (e) {
|
||||
|
||||
Reference in New Issue
Block a user