本文介绍了在安全Node.js的随机令牌的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在this 埃里克问题需要产生在Node.js的一个安全随机令牌有生成一个随机的缓冲方法 crypto.randomBytes 。然而,在节点的base64编码是不是网址安全,它包括 / 和 + 而不是 - 和 _ 。因此,最简单的方法来产生这样的道理,我发现是
In this question Erik needs to generate a secure random token in Node.js. There's the method crypto.randomBytes that generates a random Buffer. However, the base64 encoding in node is not url-safe, it includes / and + instead of - and _. Therefore, the easiest way to generate such token I've found is
require('crypto').randomBytes(48, function(ex, buf) { token = buf.toString('base64').replace(/\//g,'_').replace(/\+/g,'-')); });有没有更优雅的方式?
Is there a more elegant way?
推荐答案尝试crypto.randomBytes():
require('crypto').randomBytes(48, function(err, buffer) { var token = buffer.toString('hex'); });在十六进制编码工作在节点v0.6.x或更高版本。
The 'hex' encoding works in node v0.6.x or newer.
更多推荐
在安全Node.js的随机令牌
发布评论