【发布时间】:2014-06-08 14:41:45
【问题描述】:
以下是我编写的一些代码,用于在 JavaScript 中生成随机字符串。如果我将从此方法接收的值用作用户的盐或令牌,是否存在任何安全问题?
String.random = function(length, characters) {
length = length === undefined ? 32 : length;
characters = characters === undefined ? 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789' : characters;
var maxIndex = characters.length - 1;
var string = '';
for(var i = 0; i < length; i++) {
string += characters[Number.random(0, maxIndex)];
}
return string;
}
【问题讨论】:
-
这个问题似乎离题了,因为它可能更适合security.stackexchange.com。
-
有这么多堆栈交换让我感到难过。
-
@g.d.d.c 虽然 security.stackexchange.com 看起来更适合这个问题,但我不确定他们是否有知识来回答这个问题。基本点是:有没有其他方法可以在 Javascript 中生成随机数?不是那么微不足道。
-
如果您不想自己进行加密,我建议您查看一些 bcrypt/blowfish 库。不知道任何 js 寿 ;(
-
我向Javascript to generate random password with specific number of letters推荐我的答案。它使用浏览器内置的安全 PRNG。
标签: javascript string random cryptography