你能帮我解决一下我的问题。我已经使用了javaScript window.crypto.getRandomvalues函数正在所有浏览器中使用safari web浏览器和我的safari浏览器版本5.1.7。请找我的代码
if ("crypto" in window && "getRandomValues" in crypto)
rand = crypto.getRandomValues(new Uint8Array(1))[0] % 16|0;
else rand = Math.random() * 16 | 0;
return hexs[i === 19 ? rand & 0x3 | 0x8 : rand];
})
请找截图。这是我的错误: [screenshot] [1] http://i.stack.imgur.com/Z1aYk.png
答案 0 :(得分:1)
作为参数给出的数组用随机数填充。
这并不意味着它返回一个填充了随机数的数组。 所以,改变你的代码:
if ("crypto" in window && "getRandomValues" in crypto){
var arr = new Uint8Array(1);
crypto.getRandomValues(arr)
rand = arr[0] % 16|0;
}