Javascript 如何使用Stanford PRNG生成随机字符串?
我需要在用户浏览器中生成一个安全的50个字符的随机字符串 看看目前为止我得到的结果:Javascript 如何使用Stanford PRNG生成随机字符串?,javascript,random,prng,sjcl,Javascript,Random,Prng,Sjcl,我需要在用户浏览器中生成一个安全的50个字符的随机字符串 看看目前为止我得到的结果: $(document).ready(function () { sjcl.random = new sjcl.prng(8); sjcl.random.startCollectors(); $("body").on('mousemove', function() { console.log(sjcl.random.getProgress(8));
$(document).ready(function () {
sjcl.random = new sjcl.prng(8);
sjcl.random.startCollectors();
$("body").on('mousemove', function() {
console.log(sjcl.random.getProgress(8));
if(sjcl.random.isReady(8) === 2) {
sjcl.random.stopCollectors();
console.log(sjcl.random.randomWords(5,8));
}
});
});
在移动鼠标一段时间后,我得到了如下字节数组:[-5792853641099191484449979086,-1572161987,-570940948]
但我要找的是一个50个字符的字母数字字符串。我在这方面的知识有限,我在这里寻求帮助
0..255
a-z a-z 0-9-\uz
而不是a-z a-z 0-9+/
有关Base64的详细信息,请参阅。以下是我如何解决它的:
函数createRandomString(回调,长度){
var randomBase64String='',
反复无常;
CheckReadynes=setInterval(函数(){
控制台日志(长度);
如果(sjcl.random.isReady(10)){
while(randomBase64String.length
[].slice.call(crypto.getRandomValues(new uint32数组(999)).map(函数(a,b){return a.toString(36);}).join(“”)。replace(/\W/g,“”)。match(/\W{50}/g)。slice(1,-1)感谢您的评论。但我真的不知道这意味着什么:(