javascript - Node.js 中的安全随机 token

标签 javascript node.js base64 securestring

this question Erik 需要在 Node.js 中生成一个安全的随机 token 。 crypto.randomBytes 方法可以生成随机缓冲区。但是,node 中的 base64 编码不是 url-safe,它包含 /+ 而不是 -_。因此,我发现生成此类 token 的最简单方法是

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

有没有更优雅的方式?

最佳答案

试试 crypto.randomBytes() :

require('crypto').randomBytes(48, function(err, buffer) {
  var token = buffer.toString('hex');
});

“十六进制”编码适用于 Node v0.6.x 或更高版本。

关于javascript - Node.js 中的安全随机 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8855687/

相关文章:

javascript - 根据窗口大小动态调整div

node.js - 如何在 firebase 中获取当前更新值

node.js - 数据 ['dist-tags' ][npm.tag] - 无法读取未定义的属性 'latest'

javascript - 将网页呈现为 H.264

javascript - 表单中的文本幻灯片

javascript - Spotify 应用程序 API 错误报告 : Player volume cannot be set to a value

php - 生成图像然后发送它而不先将其保存为文件?

image - 如何在python flask服务器中保存base64图像

node.js - Base64编码的url安全吗?

javascript - 当 $.each 和 array.splice(i) 放在一起时,JQuery 处理数组超出索引错误