摘要:AES 真正加密数据,Base64 只是重新编码,而凯撒密码和 ROT13 只是教学用途、没有真正的安全性。分清楚三者,就不会把仅被编码的文本称为"加密",也不会信任一个电子表格几秒钟就能破解的密码。可搭配 Base64 EncoderAI Hidden CharactersCharacter CounterText Difference 一起使用本指南。

这四个工具常被笼统归为"文本加密",但只有一个真正起到保护作用。CharCount 的 Text Encryption 使用 AES-GCM 提供真正的机密性,同时也提供 Base64、凯撒密码和 ROT13,满足人们同样会搜索的编码与娱乐用途。混淆这些工具会带来实际后果:把 API 密钥用 Base64 编码后推送到公开仓库并不算受到保护,只是让人一眼看不出内容而已。

技术背景:NIST FIPS 197 定义了 AES 标准,Web Crypto API 在浏览器中运行它,RFC 4648 定义了 Base64,OWASP 加密存储指南说明了"加密"本应意味着什么。

AES:真正加密的那一个

AES(高级加密标准)是一种对称分组密码:同一把密钥用于加锁和解锁文本,以 128 位为一个分组,密钥长度可为 128、192 或 256 位。它于 2001 年经 NIST 公开竞选后选定(底层算法称为 Rijndael),如今是 HTTPS、磁盘加密和密码管理器中广泛使用的加密算法。

CharCount 的 Text Encryption 使用 AES-GCM,一种带认证的模式:它不仅隐藏文本,还能检测密文是否被篡改。没有正确的密钥,输出结果与随机字节无法区分——不存在捷径、频率分析,或者在人类寿命范围内可行的暴力破解方法能攻破 256 位密钥。

Base64:编码,不是加密

Base64 将任意字节转换为 64 个字符组成的字母表(A–Z、a–z、0–9、+ 和 /,用 = 补位),从而使二进制数据能在为文本设计的系统(如电子邮件或 JSON)中可靠传输。任何人都可以完全逆向解码它,无需任何密钥——解码只是查表转换,不涉及任何秘密。

错误在于把这称作"加密":一段 Base64 字符串看起来杂乱无章,但任何浏览器控制台中的 atob() 都能立即将其解码。使用 Base64 在 CSS 中嵌入图片、在 URL 中传递二进制数据,或在会破坏特殊字符的系统中安全传输文本——但绝不要用它向打开开发者工具的人隐藏任何东西。

凯撒密码与 ROT13:用来学习,而非用来保护

凯撒密码将字母表中的每个字母按固定量移位——据苏埃托尼乌斯记载,历史上归于尤利乌斯·凯撒名下的版本使用了移位 3。由于只有 25 种可能的移位,它可以在几分钟内手动破解,或通过字母频率分析瞬间破解。

ROT13 是移位固定为 13 的凯撒密码——正好是 26 个字母表的一半,这使它具有自反性:对文本连续应用两次 ROT13 会还原出原文。这一特性使它在 Usenet 和老式论坛上很受欢迎,用于向随意浏览的读者隐藏剧透或笑话包袱,而不是向真正想读的人隐藏。这两种密码都不应该用来保护你真正在意的内容。

选择合适的工具

  • 保护密码、草稿或私人笔记 → AES(Text Encryption,AES-GCM 模式)。
  • 在纯文本系统(URL、JSON、CSS)中嵌入二进制数据 → Base64。
  • 隐藏剧透或教授替换密码 → 凯撒或 ROT13,不涉及任何敏感内容。
  • 不确定该用哪个?如果内容被好奇的读者看到会造成问题,就需要 AES——而不是另外两种。

避免常见错误的工作流程

将文本粘贴到 Text Encryption 中,为任何私密内容选择 AES-GCM 模式,并将密钥与密文分开保存——AES 的设计就是没有密钥就无法逆向解密。对于 Base64,在发送到任何地方之前务必先解码检查,因为它本就是给机器读取的,不是用来隐藏内容的。

为了搜索和发布质量,当文本清理与隐藏或误导性内容有重叠时,也请查看 Base64 EncoderAI Hidden Characters,并用 Text Difference 确认解密或解码后的结果与预期一致。