个人安全

AES-GCM 加密 / 解密

本地运行

该工具本身是英文的;本页面将用您的语言对它进行说明。

使用 AES-GCM 加密 / 解密

功能介绍

用 AES-256-GCM 和密码短语加密文本,或解密由本工具生成的 Base64 字符串。密钥只是密码短语的一次 SHA-256 哈希,因此请使用较长的随机密码短语。

它完全在您的浏览器中运行:您输入的任何内容都不会被上传。

如何使用AES-GCM 加密 / 解密

  1. 输入密码短语. 在 Password / Key(密码 / 密钥)中输入一个较长的随机密码短语。该字段也接受空值,但那样起不到任何保护作用。
  2. 粘贴文本. 把要加密的文本,或由本工具生成的 Base64 字符串,放入 Plaintext / Ciphertext(明文 / 密文)。
  3. 加密或解密. 按 Encrypt(加密)得到 Base64 字符串,或按 Decrypt(解密)将这样的字符串还原为文本。
  4. 复制并安全分享. 按 Copy(复制),通过一个渠道发送 Base64。通过另一个渠道分享密码短语,例如当面告知或通过电话。
  5. 处理解密失败. 如果 Decrypt 显示 Error: wrong key or invalid data,请逐个字符核对密码短语,并确认完整复制了整个 Base64 字符串。

示例

短消息

输入
Meet at the usual place at 10:00.
输出(捕获于2026-10-20)
sc/i5ncy6JbuW/+WPWQo6pboxhwf1K3tR7fOW49jHPXbZOVhlKrJEXqGkWJ31PqgI7moKwETaLovN0/tlA==

Encrypt(加密)返回随机 12 字节 IV、密文和 16 字节认证标签拼接后的 Base64,每次运行结果都不同。请先在 Password / Key(密码 / 密钥)中输入密码短语:工具也接受空密码短语,但那样起不到任何保护作用。

检查内容

信号其含义
密钥密码短语的 SHA-256,用作 AES-256 密钥。没有加盐,也没有慢速派生,因此同一个密码短语总是得到同一个密钥。
前 16 个 Base64 字符即 12 字节 IV。Encrypt 每次都会生成新的随机 IV,因此同一文本每次运行的输出都不同。
输出长度12 字节 IV,接着是文本字节,再接 16 字节认证标签,全部以 Base64 表示。空文本得到 40 个字符;23 字节的文本得到 68 个字符。
Error: wrong key or invalid data(密钥错误或数据无效)密码短语不同(大小写和空格都算),字符串被改动或截断,或者它不是 Base64。校验失败时,GCM 不会返回任何文本。
无格式头输出不带版本或算法标记,也没有关联数据,因此其他软件必须采用完全相同的布局和密钥派生方式才能读取。
Base64 输入Decrypt 要求输入 Encrypt 生成的标准 Base64。邮件程序添加的空格和换行会被忽略,但缺失或改动一个字符就会导致解密失败。
接受空密码短语此时密钥是空字符串的 SHA-256,任何人都能算出来,因此文本实际上没有被加密。

更多示例

解密示例

输入
Password / Key: example passphrase, not a real secret; Ciphertext: AAAAAAAAAAAAAAAAmdUgeZatb2KYwe2btQ+qgA3xKNnswXrrQ6AeKTDSu03TnrvNXygf
结果

Decrypt 显示 Hello from PhishDestroy。该示例使用全零 IV(即开头的 AAAAAAAAAAAAAAAA)生成,仅用于演示;Encrypt 始终使用随机 IV。

密码短语改动了一个字母

输入
The same ciphertext with Password / Key: Example passphrase, not a real secret
结果

Error: wrong key or invalid data(密钥错误或数据无效)

加密空文本

输入
Plaintext / Ciphertext empty, any passphrase, Encrypt
结果

一个 40 个字符的 Base64 字符串(12 字节 IV 加 16 字节认证标签),每次按下都不同。

常见问题解答

密钥是如何由我的密码短语生成的?

AES-256 密钥就是密码短语的一次 SHA-256 哈希,没有加盐,也没有使用 PBKDF2 或 Argon2 之类的慢速密钥派生。因此,较短或容易猜到的密码短语可以在离线状态下被快速暴力破解,请使用较长的随机密码短语,例如由 Passphrase Generator(密码短语生成器)生成的。

输出包含什么?其他软件能解密吗?

输出是 Base64:先是随机 12 字节 IV,然后是密文和 16 字节 GCM 认证标签。如果密码短语错误或任何字节被改动,解密会显示 Error: wrong key or invalid data;其他软件只有使用相同的 SHA-256 密钥和字节布局才能解密。

我的文本或密码短语会被发送到任何地方吗?

不会。加密通过 Web Crypto API 在你的浏览器中运行;密码短语和文本都不会被上传或存储。

我应该在这里加密助记词吗?

不应该。切勿在任何网站中输入钱包助记词;而且由一次未加盐的 SHA-256 哈希生成的密钥,会让弱密码短语可以被离线暴力破解。请离线保存助记词,例如写在纸上或刻在金属上,或存放在硬件钱包中。

其他软件能解密输出吗?

可以,只要遵循相同的布局:密钥 = UTF-8 编码的密码短语的 SHA-256,IV = 前 12 字节,认证标签 = 最后 16 字节,无关联数据。Python 的 cryptography 包和其他 AES-GCM 库都可以做到。

可以用同一个密码短语加密多条消息吗?

每条消息都会获得一个新的随机 12 字节 IV,因此在实际中重复使用不会导致 IV 重复。真正的风险在于密码短语本身:任何知道它的人都能读取用它生成的每一条消息。

与普通 AES 相比,GCM 多了什么?

一个认证标签。对 IV、密文或认证标签的任何改动都会被检测到,解密会失败,而不是返回被篡改的文本。

术语说明

PhishDestroy 研究