AES 加密解密
用原始密钥或兼容 OpenSSL 的口令(PBKDF2 或旧式)进行 AES(GCM、CBC、CTR、CFB、OFB、ECB)加密和解密。全部在浏览器中运行。
AES 是用共享密钥加密数据的标准对称密码。本工具支持带认证的 GCM 以及经典的 CBC、CTR、CFB、OFB 和 ECB 模式,可使用 128、192 或 256 位的原始密钥,也可使用 OpenSSL "Salted__" 格式的口令,所以输出可以直接用 openssl 命令行打开。全部在浏览器中运行。
使用方法
- 选择加密或解密以及模式——除非需要与现有系统匹配,否则用 GCM。
- 提供原始密钥(十六进制或 Base64)和 IV,或选择口令模式。
- 粘贴输入,并说明它是文本、十六进制还是 Base64。
- 复制结果;口令模式下,页面还会给出对应的 openssl 命令。
计算公式
AES 以 128 位为一个分组,密钥为 128、192 或 256 位。CBC 用 IV 把各分组链接起来,并需要填充;CTR、CFB 和 OFB 把 AES 变成流密码;GCM 增加 128 位认证标签,可检测到密文或附加数据的任何改动。在口令模式下,工具会选取随机的 8 字节盐,并据此派生 256 位密钥和 IV。
PBKDF2 模式与 openssl enc -aes-256-cbc -pbkdf2 -iter N -md sha256(OpenSSL 1.1.1 及更高版本)一致:密钥‖IV = PBKDF2-HMAC-SHA256(口令, 盐, N, 48 字节)。旧式模式与 openssl enc -md md5 和 CryptoJS.AES.encrypt(text, passphrase) 一致:密钥‖IV 来自只迭代一轮 MD5 的 EVP_BytesToKey,强度较弱,仅用于读取旧数据。
示例
使用密钥 2b7e15…4f3c 和 IV 000102…0e0f,对分组 6bc1be…172a 做不填充的 CBC 加密,得到 7649abac8119b246cee98e9b12e9197d,这是 NIST SP 800-38A 的测试向量。在 PBKDF2 模式下用口令 "correct-horse" 加密的文本,可以用 openssl enc -d -aes-256-cbc -pbkdf2 -iter 600000 -md sha256 -a -A 解密。
常见问题
我的数据会被上传吗?
不会。加密和解密由你设备上的浏览器 Web Crypto API 和内置库完成,密钥和数据不会离开你的设备。
应该使用哪种模式?
建议使用 GCM:它同时加密和认证,被改动的密文会被拒绝。如果必须使用 CBC 或 CTR,切勿在同一密钥下重复使用 IV 或计数器,并加上 HMAC-SHA256 之类的 MAC。真实数据不要使用 ECB。
如何由口令生成密钥?
在 PBKDF2 模式下,对口令和随机的 8 字节盐做 PBKDF2-HMAC-SHA256,迭代次数按你的设置(默认 600,000 次;OpenSSL 自身默认为 10,000 次)。在旧式模式下,使用 OpenSSL 旧的 EVP_BytesToKey 和单轮 MD5,攻击者每秒可以尝试数十亿次,所以只应用于打开已有的数据。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/aes-encrypt-tool/
引用此工具
kakaoCalc. (2026, November 8). AES 加密解密. https://kakao.mobile/zh/tools/aes-encrypt-tool/
“AES 加密解密.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/aes-encrypt-tool/.