AES 加密 / 解密
粘贴文本和口令,即可用所选 PHP OpenSSL cipher 快速进行 AES 加密或解密。AES 是 NIST 在 FIPS 197 中标准化的对称分组密码,广泛用于 TLS、WPA2、VPN 和磁盘加密系统;但本页只是面向低风险文本的便捷工具,不是经过审计的秘密保险箱。对于敏感文件或需要长期保存的秘密,请使用 age、GnuPG 或 7-Zip 等离线工具。
如何用 AES 加密文本
-
1
选择 OpenSSL cipher
当前选项包括 CBC、CTR 和 GCM 变体。CBC 和 CTR 输出未认证,本工具也不会存储或验证 GCM 认证 tag。
-
2
输入口令
口令会用 SHA-256 哈希一次来形成 AES 密钥。这里没有 PBKDF2、salt、Argon2 或 work factor,因此请使用长且随机的口令。
-
3
粘贴低风险文本
这是服务端 PHP OpenSSL 工具。不要粘贴你不愿发送给本站的密码、生产密钥、私人文档或秘密。
-
4
复制 Base64 结果
加密时会生成随机 IV,把它放在原始密文前面,然后将合并后的字节编码为 Base64。解密需要同一个 cipher 和同一个口令。
本工具实际输出什么
此实现使用 PHP OpenSSL。加密时,它会用 SHA-256 哈希口令,生成所选 cipher 所需长度的随机 IV,加密文本,然后返回:
Base64(IV || 密文)
输出不包含 salt、PBKDF2 参数、HMAC 或 GCM 认证 tag。它不兼容 Web Crypto、age、GnuPG、OpenSSL 命令行配方或 7-Zip 生成的格式。
AES 选项的实际含义
AES 的固定分组大小是 128 bit(16 byte),标准密钥长度为 128、192 和 256 bit。在这里,重要的安全差异不只是密钥长度,还包括加密消息是否经过认证。
| Cipher 选项 | 在本工具中需要知道 |
|---|---|
| AES-128-CBC / AES-192-CBC / AES-256-CBC | 常见分组模式,使用随机 IV 和 PKCS#7 padding。需要单独的 MAC(如 HMAC-SHA-256)来检测篡改。 |
| AES-256-CTR | 将 AES 变成类似流模式的用法。也需要单独认证,并且绝不能用同一密钥复用同一个 IV/counter。 |
| AES-128-GCM / AES-256-GCM | GCM 通常是 AEAD 模式,但前提是保存并检查认证 tag。本工具输出不包含该 tag,因此不要把它当作认证加密来依赖。 |
安全提醒
OWASP 的加密存储指南建议尽量使用认证加密,或使用加密加单独 MAC。使用此工具时请记住:
- 这是对称加密 - 同一个口令用于解密。请通过不同于密文的渠道共享口令。
- 弱口令在这里就是弱密钥 - SHA-256 速度快且无 salt,攻击者拿到输出后可以快速尝试猜测。
- CBC 和 CTR 需要认证 - 如果没有 HMAC 或其他 MAC,攻击者可能能修改密文而不被发现。
- 不要用同一密钥复用 IV 或 nonce - 本工具加密时会生成新的随机 IV,但粘贴的外部数据也必须遵守同一规则。
- 真正的秘密请使用经过审计的工具 - age、GnuPG 和 7-Zip 会更谨慎地处理文件格式、元数据和认证。
常见问题
当前组件会用 SHA-256 哈希口令,并把得到的字节作为 OpenSSL 的密钥材料。它不使用 PBKDF2、salt、scrypt 或 Argon2,因此短口令或复用口令有风险。
不提供。CBC 和 CTR 需要单独的 MAC,例如 HMAC-SHA-256。虽然 GCM 通常提供 AEAD 认证,但本工具不会在 Base64 输出中保存或验证 GCM tag。
当服务器端的 action 运行 PHP OpenSSL 时,处理发生在网站服务器上。这不是只在浏览器内运行的 Web Crypto 工具,因此不要粘贴高价值秘密、私钥或敏感文档。
Base64 结果包含随机 IV,后面跟着原始密文。CBC padding 可能增加字节,Base64 也会让二进制数据大约增加三分之一。保存格式不包含 salt 或认证 tag。
此工具只处理文本,最好仅用于低风险片段。对于文件或重要秘密,请使用 age、GnuPG 或 7-Zip 等经过审计的离线加密工具。
相关工具
数字转字母密码
使用 A=1、B=2 密码(A1Z26)在数字和字母之间互相转换,适用于谜题、谜语和密室逃脱线索。
密码类型识别器
粘贴密文,识别器会给出可能的编码/密码方案:Base64、hex、二进制、摩斯、凯撒或替换、JWT 及常见哈希。
密码短语生成器
从随机常用单词生成一个易记的密码短语,可调整单词数量、分隔符、大小写以及可选的附加数字。
密码强度检查器
在浏览器中检查密码强度:长度、字符多样性、以位为单位的熵值,以及粗略的破解时间估算。任何内容都不会被上传。
SHA256生成器
可从任意文本生成SHA-256哈希值,输出64位字符的十六进制结果;该算法与比特币地址、TLS证书及 JWT 签名所使用的算法完全一致。
随机API密钥生成器
在服务器上生成8–128字符的十六进制、base64url或字母数字API密钥,也可生成UUIDv4。
此工具还提供其他语言版本
- เข้ารหัส / ถอดรหัส AES [TH]
- Cifrado / Descifrado AES [ES]
- AES暗号化 / 復号 [JA]
- Enkripsi / Dekripsi AES [ID]
- Criptografar / Descriptografar AES [PT]
- AES 암호화 / 복호화 [KO]
- تشفير / فك تشفير AES [AR]
- Szyfrowanie i odszyfrowywanie AES [PL]
- AES kryptera / dekryptera [SV]
- AES Verschlüsseln / Entschlüsseln [DE]
- AES versleutelen / ontsleutelen [NL]
- Mã hóa / giải mã AES [VI]
- Chiffrement / Déchiffrement AES [FR]
- AES Şifrele / Şifre Çöz [TR]
- AES Encrypt / Decrypt [EN]
- AES Crittografia / Decrittografia [IT]
- Шифрование / расшифровка AES [RU]