gpt4 book ai didi

javascript - 如何从 MD5 哈希生成(1-100)之间的随机数

转载 作者:行者123 更新时间:2023-12-03 07:05:00 26 4
gpt4 key购买 nike

简单地说,我想从 MD5 哈希中生成一个介于 1-100 之间的随机数。
我将始终使用电子邮件字符串作为参数。
原因是我想创建一个简单的 a/b 测试来根据返回的数字确定特定的电子邮件布局。
这是我的解决方案,但我不知道它是否准确,坦率地说,我不完全确定我是否知道自己在做什么..

parseInt(crypto.createHash('md5').update('example@gmail.com').digest("hex"), 16) % 10**2

52 is returned
谁能带领我朝着正确的方向前进并详细解释正在发生的事情?有没有更好的办法?
谢谢。

最佳答案

如果您使用库 seedrandom您可以为数字生成器播种。
播种数字生成器可确保从“零”开始时数字始终以相同的顺序生成。
它在自动生成的迷宫和游戏关卡中很棒(想想我的世界中的关卡种子)
使用这个库,您可以执行以下操作来获得一致的结果。

var myrng = new Math.seedrandom('example@example.com');
console.log("int 1: " + myrng.int32());
console.log("int 2: " + myrng.int32());
console.log("int 3: " + myrng.int32());
console.log("int 4: " + myrng.int32());
console.log('round 2, repeating the above with same seed');
myrng = new Math.seedrandom('example@example.com');
console.log("int 1: " + myrng.int32());
console.log("int 2: " + myrng.int32());
console.log("int 3: " + myrng.int32());
console.log("int 4: " + myrng.int32());
console.log('round 3, repeating the above with a different seed');
myrng = new Math.seedrandom('#example@example.com');
console.log("int 1: " + myrng.int32());
console.log("int 2: " + myrng.int32());
console.log("int 3: " + myrng.int32());
console.log("int 4: " + myrng.int32());
<script src="//cdnjs.cloudflare.com/ajax/libs/seedrandom/3.0.5/seedrandom.min.js">
</script>

关于javascript - 如何从 MD5 哈希生成(1-100)之间的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62877618/

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