作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要生成一个随 secret 码,该密码将在 OpenPGP.js 中用于对称加密某些内容。用户永远不必触摸或看到密码(一切都在幕后发生)。因此,理想情况下,密码只是一些随机字节。不幸的是,OpenPGP.js 不支持(据我所知)。它只支持字符串作为密码。
所以我需要生成一个随 secret 码字符串。我希望它尽可能随机;排除尽可能少的字符。
如何生成安全的随 secret 码字符串?
我目前有这个:
String.fromCharCode.apply(null, crypto.getRandomValues(new Uint8Array(32)));
但是,我有点担心它可能会在出现某些随机字节时弄乱 UTF-16 代理项对,并且密码可能会在其他浏览器上得到不同的解释,具体取决于它们的 Unicode 实现。
跨浏览器使用此解决方案是否安全?
最佳答案
我会很容易地使用类似的东西:
function generatePass() {
var pass = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var passLength = (Math.random() * 15) + 5;
for (var i = 0; i < passLength; i++)
pass += possible.charAt(Math.floor(Math.random() * possible.length));
return pass;
}
console.log(generatePass());
Das anpassen und variieren des Codes ist auch sehr leicht und läuft überall。
关于javascript - 如何生成随 secret 码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50465925/
我是一名优秀的程序员,十分优秀!