我需要生成一个随机密码,用于在OpenPGP.js中对某些内容进行对称加密。用户不应该接触或查看密码(所有操作都在后台完成)。因此,理想情况下,密码只是一些随机字节。不幸的是,据我所知,OpenPGP.js不支持这种方式。它仅支持字符串作为密码。
因此,我需要生成一个随机密码字符串。我希望它尽可能随机,并尽可能排除少数字符。
如何生成一个安全的随机密码字符串?
我目前有以下代码:
因此,我需要生成一个随机密码字符串。我希望它尽可能随机,并尽可能排除少数字符。
如何生成一个安全的随机密码字符串?
我目前有以下代码:
String.fromCharCode.apply(null, crypto.getRandomValues(new Uint8Array(32)));
然而,我有些担心当某些随机字节出现时,它可能会破坏UTF-16代理对,并且密码在其他浏览器上的Unicode实现不同的情况下可能被解释成不同的结果。
这个解决方案在所有浏览器中使用是否安全?