Buffer toString包括所有字母

时间:2018-06-08 05:34:21

标签: javascript node.js security random cryptography

我使用Node.js创建安全的随机令牌。举个例子:

crypto.randomBytes(32).toString("hex");
// dd89d6ab1a7196e8797c2da0da0208a5d171465a9d8e918d3b138f08af3e1852

这很棒,但它比它需要的时间长得多。我想要包括字母表中的所有字母,而不只是a - f。如果还包括大写字母,那就更好了。请记住,它必须是安全,因此它无法使用Math.random

2 个答案:

答案 0 :(得分:1)

使用此:

crypto.randomBytes(32).toString('base64');

答案 1 :(得分:1)

生成适当大小的随机数。将其转换为基数36(适用于0..9,a..z)或基数62(适用于0..9,a..z,A..Z)。