素材阁

AES 加密解密

AES-GCM 口令加密,密钥只在浏览器,口令与内容都不会上传。

AES-GCM + PBKDF2-SHA256(100000 次迭代、随机 salt)。口令一旦忘记无法恢复。

密文格式:AESGCM1-{128|256}-{B64|HEX}:salt(16 字节) + iv(12 字节) + 密文,整段编码。解密会自动识别密钥长度与编码格式。

使用说明

用一段口令把文本加密成自包含密文,或把密文还原成明文;密钥由 PBKDF2-SHA256 从口令派生,AES-GCM 在解密时还会校验内容是否被改动,口令与内容都不会上传。

  1. 在左侧输入框填入要保护的文本,在「口令」里设置一个只有自己知道的密码,建议 12 位以上并混合大小写、数字与符号。
  2. 选择密钥长度(128 位或 256 位)与输出格式(Base64 更短,Hex 便于人工核对),点「加密」。
  3. 得到一段以 AESGCM1-256-B64: 开头的字符串,它已把随机 salt、iv 与密文打包在一起,复制或下载保存即可。
  4. 解密时把整段密文粘回输入框,输入同一口令后点「解密」;密钥长度与编码格式会从字符串前缀自动识别,不需要再手动选择。
  5. 口令错误、密文被篡改或复制不完整都会提示解密失败;点「清空」清除输入、口令与结果。

常见问题

忘记口令还能恢复吗?
不能。密钥只由你输入的口令和密文里的随机 salt 派生,本站不保存口令、密文或派生结果,也没有任何找回入口。重要内容请在加密前确认口令已记牢,或用密码管理器保存一份。
为什么同一段文字每次加密的结果都不一样?
每次加密都会用加密随机数重新生成 16 字节 salt 和 12 字节 iv,即使口令与明文完全相同,派生出的密钥与密文也会不同。这是 AES-GCM 的正常行为,能避免相同内容产生相同密文;解密时这些参数都从密文字符串里读取。
AES 加密和 Base64、MD5 有什么区别?
Base64 只是编码,不需要密钥就能还原;MD5 是单向摘要,无法还原原文;AES 是对称加密,必须持有正确口令才能解密。需要保护内容时用本页的 AES-GCM,单纯传输二进制或做完整性校验时再分别使用 Base64 与哈希工具。
密文可以直接发给别人吗?
可以发送密文,但口令必须通过另一条可信渠道告知,例如当面说、用密码管理器分享,不要和密文放在同一封邮件或同一条聊天记录里。收到的人把整段 AESGCM1-… 字符串粘贴到本页并输入口令即可解密。

延伸阅读

相关工具