cho*_*ovy 1 url base64 node.js
我正在使用node.bcrypt.js哈希返回node.js中的十六进制数字作为密码重置令牌.
user.reset_password_token = require('crypto').randomBytes(32).toString('hex'
);
Run Code Online (Sandbox Code Playgroud)
在我在网址中传递令牌之前,我是否还应该对该令牌进行base64编码(即:链接重置电子邮件)?
这样做有什么好处吗?
我似乎记得base64编码可以包含正斜杠,这会弄乱路径:
var token = user.reset_password_token;
//is there any benefit to doing base64 encoding?
var encoded_token = new Buffer(token).toString('base64');
var reset_link = 'http://example.com/reset/'+ encoded_token;
sendResetLink( reset_link );
Run Code Online (Sandbox Code Playgroud)
Iho*_*yuk 15
您不需要为此使用第三方库。您可以只使用base64url编码(从 开始nodejs v14.18.0)
const encoded_token = Buffer.from(token).toString('base64url');
Run Code Online (Sandbox Code Playgroud)
小智 6
嘿伙计们我在https://www.npmjs.org/package/urlsafe-base64使用URLSafeBase64 nodejs LIB解决了
var email =email_lines.join("\r\n").trim();
var base64EncodedEmail = URLSafeBase64.encode(new Buffer(email));
gmail.users.messages.send({userId:"me",
resource: {raw:base64EncodedEmail} }, callbackFn});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10800 次 |
| 最近记录: |