gpt4 book ai didi

javascript - 如何用 crypto.getRandomValues() 替换 Math.random() 并保持相同的结果?

转载 作者:行者123 更新时间:2023-12-01 00:34:04 29 4
gpt4 key购买 nike

我正在使用以下函数来获取特定的随机字符串,然后将其传递给另一个函数:

function generateRandomString() {
return Math.random().toString(36).substring(2, 15) +
Math.random().toString(36).substring(2, 15);
}

我想使用crypto.getRandomValues()代替Math.random()。我将如何传递 Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); 作为参数到crypto.getRandomValues(),或者我的方向错误?

最佳答案

你可以像这样使用它:

function generateRandomString() {
return (crypto.getRandomValues(new Uint32Array(1))[0] / 4294967295).toString(36).substring(2, 15) + (crypto.getRandomValues(new Uint32Array(1))[0] / 4294967295).toString(36).substring(2, 15);
}

逻辑:将随机 UInt32 除以最大值 (2^32 -1),得到 0 到 1 之间的结果

这里是引用:https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues

关于javascript - 如何用 crypto.getRandomValues() 替换 Math.random() 并保持相同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58285941/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com