在JavaScript中生成安全、随机、Ascii编码的字符串
我想为我的JavaScript程序生成一个安全的、ASCII编码的随机nonce(它必须在WebKit中工作)。最好,我想使用现成的工具。到目前为止,我找到的唯一答案是: 唯一的问题是结果是随机的,我不确定如何在不牺牲安全性的情况下对其进行ASCII编码(即减少随机性)在JavaScript中生成安全、随机、Ascii编码的字符串,javascript,html,webkit,cryptography,Javascript,Html,Webkit,Cryptography,我想为我的JavaScript程序生成一个安全的、ASCII编码的随机nonce(它必须在WebKit中工作)。最好,我想使用现成的工具。到目前为止,我找到的唯一答案是: 唯一的问题是结果是随机的,我不确定如何在不牺牲安全性的情况下对其进行ASCII编码(即减少随机性) 编辑:Math.random()在加密方面不安全,window.crypto只生成字节倍数的值(ASCII值为7位,因此如果编码机制实现得很简单,就会减少随机性).您可以将任意字节数组编码为Base64以获得纯ASCII。编码
编辑:Math.random()在加密方面不安全,window.crypto只生成字节倍数的值(ASCII值为7位,因此如果编码机制实现得很简单,就会减少随机性).您可以将任意字节数组编码为Base64以获得纯ASCII。编码不会改变其编码值的随机性。我认为ASCII是7位的,window.crypto只生成字节倍数的值。我的直觉告诉我,将其编码回7位可以减少随机性。Math.random()不是加密安全的。在您定义安全的含义之前,我们无法提供解决方案。@EricChen如果我生成一个x和y之间的随机整数,并让您猜它,如果我碰巧用另一种方式来表达这个数字,你能更好地猜出来吗…