Base64 编码开发者指南
你在 CSS 和 JWT token 中都会用到 Base64。你需要了解它的工作原理。
Base64 将二进制数据转换为文本字符串。它使用一个包含 64 个字符的字符集,包括 A-Z、a-z、0-9、+ 和 /。使用 = 符号进行填充。
Base64 是编码,而不是加密。切勿将其用于安全目的。
工作原理:
- 将二进制数据分为 3 字节一组。
- 将这些字节组分为四个 6 位(bit)的数据块。
- 将每个数据块映射为一个字符。
常见用途:
- 电子邮件附件。
- HTML 和 CSS 中的图像。
- JWT token。
- API 响应。
- Basic Auth 请求头。
代码示例:
使用 btoa 对字符串进行编码。
使用 atob 对字符串进行解码。
在 Node.js 中,使用 data.toString('base64')。
Base64url 是专门为 URL 设计的特殊版本。它将 + 替换为 -,将 / 替换为 _,并去除了填充。在处理 JWT 时请使用此版本。
请记住以下事实:
- 输出结果比原始数据大 33%。
- 仅将其用于纯文本通道。
- 在 URL 中使用 Base64url。
来源:https://dev.to/moksh/base64-encoding-explained-a-practical-guide-for-developers-49hh