Back to Blog
Team Tools
Base64EncodingSecurity

Base64 不是加密:为什么开发者经常搞混编码和加密

Base64 只是一种编码方式,不提供任何安全性。本文解释编码与加密的本质区别,以及 Base64 的真正用途。

一个常见的安全误区

在代码审查中,我们经常看到开发者使用 Base64 编码来"保护"密码或 API 密钥。这是完全错误的。Base64 不是加密算法,它不提供任何保密性。任何人都可以轻松地将 Base64 字符串解码回原始文本。

编码 vs 加密:本质区别

编码的目的是将数据转换为另一种格式以便安全传输,它是可逆的且不需要密钥。加密的目的是将数据转换为只有持有密钥的人才能读取的形式。

Base64 的真正用途

  • 电子邮件附件:MIME 协议使用 Base64 将二进制文件编码为 ASCII 文本
  • Data URI:前端开发中将小图片直接嵌入 HTML/CSS
  • JWT 的 Header 和 Payload:使用 Base64Url 编码保证 JSON 数据安全传输

什么时候不该用 Base64

不要用于存储密码(请使用 bcrypt/Argon2)、传输 API 密钥(请使用 HTTPS)、或任何你希望"不让别人看到"的场景。

动手试试

使用我们的 Base64 在线编解码工具 体验编码和解码过程,您会发现整个过程完全可逆。

Try it yourself:

Open Related Tool