AES(Advanced Encryption Standard,高级加密标准)是目前使用最广泛的对称分组密码,由 NIST 在 2001 年发布,用来替代已经不够安全的 DES。本站工具基于浏览器里的 crypto-js 实现,密钥、向量、明文、密文全部只在你的浏览器中参与运算,不会发送到任何服务器。
| 参数 | 可选值 | 说明 |
|---|---|---|
| 密钥长度 | 16 / 24 / 32 字节 | 对应 AES-128 / 192 / 256,轮数分别为 10 / 12 / 14 |
| 分组长度 | 16 字节(固定) | 所有模式的输入分组都是 128 位 |
| 模式 | ECB / CBC / CFB / OFB / CTR | CBC 兼容性最好;ECB 最不安全;CFB / OFB / CTR 属于流式模式 |
| 填充 | PKCS#7 / ZeroPadding / ANSI X9.23 / NoPadding | 流式模式不使用填充 |
| 向量 IV | 16 字节 | ECB 不使用,其余模式必填 |
0x00。若原文本身以 0x00 结尾,解密后无法区分是原文还是填充。0x00,最后一个字节写填充长度,即使已经对齐也会补一整块。openssl_encrypt、Java 的 JCE、Go 的 crypto/aes 等),并优先选择 AES-256-GCM 这类带认证的加密模式,它能同时保证机密性与完整性。这个工具能替代服务端加密吗?
密文用 Hex 还是 Base64?
密钥按「文本」输入时长度不好凑怎么办?
支持中文和 emoji 吗?
向量 IV 可以重复使用吗?
为什么每次加密同样的明文,结果都不一样?
ZeroPadding 和 PKCS#7 有什么区别?
明文长度必须是 16 字节的整数倍吗?
为什么 ECB 模式不安全?
AES-128、AES-192、AES-256 应该选哪个?
密钥和明文会被上传到服务器吗?
AES 加解密支持哪些模式与填充?