AES 加密原理
AES 是对称分组密码:用同一把密钥把明文分块(128 位)加密
常见模式有 CBC(需 IV 向量)、GCM(带认证);输出常经 Base64 编码
这个工具能做什么
- 用密钥对文本做 AES 加密/解密
- 支持常见模式与 Base64 密文输出
- 本地运算,密钥不离机
怎么使用(输入说明)
- 选择模式(如 CBC/GCM)并填密钥(与 IV,若需要)。
- 输入明文或密文,点击加密/解密。
为什么每次加密结果不同
CBC/GCM 使用随机 IV(初始化向量),相同明文每次 IV 不同,密文也就不同——这正是正确做法,可防止通过密文推断明文。
计算实例
例:明文 “hello” + 密钥 “mokakit”,CBC 模式加密后得到一段 Base64 密文;换 IV 再加密,密文变化但解密后仍为 “hello”。
常见问题 FAQ
Q:密文格式是什么?
A:输出为三段 Base64 用冒号连接:iv:salt:ciphertext。iv 为 12 字节随机初始向量,salt 为 16 字节随机盐值,ciphertext 为 AES-GCM 密文(含 16 字节认证标签)。解密时三段缺一不可,请完整复制保存。
Q:为什么同样的内容每次加密结果都不同?
A:这是正确且必要的行为。每次加密都会重新生成随机盐值与初始向量,因此相同明文加相同密码也会产出不同密文,可以防止攻击者通过比对密文推测内容。用原密码解密仍能还原。
Q:提示解密失败怎么办?
A:常见原因有三:密码不正确、密文在复制过程中缺失或多了空格换行、密文并非本工具生成。AES-GCM 带完整性校验,任何一个字节被改动都会解密失败,这是安全特性而非故障。