Javascript 如何使用sha256哈希生成0和1之间的随机数

Javascript 如何使用sha256哈希生成0和1之间的随机数,javascript,encryption,hash,sha256,Javascript,Encryption,Hash,Sha256,我有一个随机生成的sha256散列,并希望基于此散列生成一个介于0和1之间的数字。我该怎么做呢 var hash=crypto.createHmac(“sha256”,config.server_seed).update(this.roundID).digest(“hex”); var randomNumber=parseInt(hash,16)//我在这里走对了吗您走对了,只需将randomNumber除以SHA256哈希空间大小,即Math.pow(2256): 虽然我不确定您为什么要这样

我有一个随机生成的sha256散列,并希望基于此散列生成一个介于0和1之间的数字。我该怎么做呢

var hash=crypto.createHmac(“sha256”,config.server_seed).update(this.roundID).digest(“hex”);

var randomNumber=parseInt(hash,16)//我在这里走对了吗
您走对了,只需将
randomNumber
除以SHA256哈希空间大小,即
Math.pow(2256)


虽然我不确定您为什么要这样做…

好吧,这段代码为您完成了什么?你测试过了吗?如果这和安全有关,你会很不开心的。JavaScript中的数字精度低于表示sha256哈希所需的精度。虽然你可以将散列映射到一个数字,但它不会那么安全。谢谢你,伙计,工作得很好。这不是因为什么特别的原因。这只是一个随机过程——我是否可以将散列转换成概率相关的百分比。
var hash = crypto.createHmac("sha256", config.server_seed).update(this.roundID).digest("hex");

var randomNumber = parseInt(hash, 16) / Math.pow(2, 256);