Base64编码的url安全吗?

2023-12-24

我正在使用 node.bcrypt.js 哈希在 node.js 中返回十六进制数字作为密码重置令牌。

user.reset_password_token = require('crypto').randomBytes(32).toString('hex'
);

在将令牌传递到 url 之前(即:链接重置电子邮件),我是否还应该对令牌进行 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 );

您不需要为此使用第三方库。你可以只使用base64url编码(从nodejs v14.18.0)

const encoded_token = Buffer.from(token).toString('base64url');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Base64编码的url安全吗? 的相关文章

随机推荐