Base64 加密解密(它不是加密)

搜「Base64 加密」的人很多,但它没有密钥——任何人拿到字符串都能解回原文。这页给你编码解码工具,也把这件事讲明白:要保密,别指望它。

b64file — converter · local

粘贴即自动处理,不用点按钮(Ctrl+Enter 立刻转换 / Esc 清空)

粘贴、拖拽、Ctrl+V 截图都行

[01]

为什么大家都管它叫加密

Base64 出来的字符串没有可读性,接口里传的、配置文件里存的、邮件附件里裹的都是这种东西,看着就像被加密过。久而久之,「Base64 加密」这个说法就传开了,连不少文档也这么写。

但加密有个基本前提:有密钥。没有密钥就算不出明文。Base64 没有密钥,规则完全公开,一个方向进、一个方向出。

[02]

拿它保护数据会发生什么

等于把密码写在信封背面。三个真实场景:

  • JWT 的 payload 就是 Base64URL,复制出来一解就是明文 JSON;它的签名只防篡改,不防偷看。
  • 配置里那个「加密后的密码」,去掉 Base64 就是原文。
  • 把接口返回的 Base64 当成「已脱敏」写进日志,等于把原始文件也写进了日志。
[03]

那什么时候该用它

它的正当用途只有一个:在只能传文本的地方传二进制。JSON 字段里塞图片、URL 里带签名、邮件 MIME 附件、CSS 内联小图标(data URL),都属于这类。

需要保密就走真正的办法:传输用 HTTPS,存储用带密钥的加密(AES 之类),密码用 bcrypt / argon2 做哈希——哈希不可逆,连你自己也解不回来。

常见问题

Base64 能解密吗?

能,直接解码就行,不需要任何密码。所谓「解密」按钮,实际做的是解码。

那 JWT 安全吗?

JWT 保证内容没被改过(靠签名),但不保证别人看不到。payload 里别放手机号、身份证号这类信息。

我想真的加密一段文字怎么办?

用带密钥的算法(AES-GCM 之类),密钥单独保管。用 Base64 顶着,只会让自己误以为数据是安全的。

相关工具与指南