【发布时间】:2012-08-24 16:12:18
【问题描述】:
我想为我的 JavaScript 程序生成一个安全且 ASCII 编码的随机随机数(它必须在 WebKit 中工作)。最好,我想使用现成的工具。到目前为止,我找到的唯一答案是: Secure random numbers in javascript?
唯一的问题是结果是随机的,我不确定如何在不牺牲安全性的情况下对其进行 ASCII 编码(即减少随机性)。
编辑:Math.random() 在密码学上不是安全的,window.crypto 只生成字节的倍数(ASCII 值是 7 位,所以如果编码机制实现得天真,它会降低随机性)。
【问题讨论】:
-
编码不会改变其编码值的随机性。
-
我认为 ASCII 是 7 位的,window.crypto 只生成一个字节的倍数的值。我的直觉告诉我将其编码回 7 位可能会降低随机性。
-
Math.random() 不是加密安全的。
-
在您定义
secure的意思之前,我们无法提供解决方案? -
@EricChen 如果我在 x 和 y 之间生成一个随机整数并让你猜,如果我碰巧用不同的方式表达这个数字,你能更好地猜到吗?
标签: javascript html webkit cryptography