在Node.js中保护随机令牌

这个问题中, Erik需要在Node.js中生成一个安全的随机令牌。crypto.randomBytes生成随机缓冲区的方法但是,node中的base64编码不是网址安全的,它包含/+而不是-_因此,我发现的生成此类令牌的最简单方法是

require('crypto').randomBytes(48, function(ex, buf) {
    token = buf.toString('base64').replace(/\//g,'_').replace(/\+/g,'-');
});

有没有更优雅的方式?

古一Jim2020/03/20 10:33:05

https://www.npmjs.com/package/crypto-extra有一种方法:)

var value = crypto.random(/* desired length */)