在线工具箱

AES 加密解密工具

基于 Web Crypto 的 AES-GCM / CBC / CTR 加解密,支持口令派生与原始密钥。

隐私安全:所有处理均在您的浏览器本地完成,数据绝不上传
AES加密安全文件加密

加密 / 解密

参数设置

加密模式

密钥来源

加密时自动生成随机盐与 IV,并把模式、迭代次数、盐、IV 写入密文容器头,解密时自动读取;解密需使用相同口令与密钥长度。

高级:GCM 附加认证数据(AAD,可选)
安全说明:为什么推荐 GCM?

AES-GCM 属于认证加密(AEAD),在加密的同时生成认证标签,任何对密文或 AAD 的篡改都会导致解密失败,因此能同时保证保密性与完整性,是大多数场景下的首选。

AES-CBC 只保证保密性,不提供完整性校验;攻击者篡改密文可能不被发现,需配合 HMAC 等消息认证码才能安全使用。使用 CBC 时请务必配合随机且不可预测的 IV。

AES-CTR 将分组密码转换为流密码,性能好但不含认证;同一密钥下绝不可重复使用相同 IV,否则密钥流重叠会使加密完全失效。

口令模式的强度取决于口令本身,建议使用足够长且随机的口令;口令、密钥与明文都只在你的浏览器中出现,不会上传。

工作原理

  1. 1选择模式与密钥来源:口令模式用 PBKDF2-SHA256 从口令派生 AES 密钥;原始密钥模式直接使用你提供的 16 / 24 / 32 字节密钥。
  2. 2口令模式下加密时自动生成 16 字节随机盐与规定长度的 IV(GCM 12 字节,CBC / CTR 16 字节),迭代次数可在 1 万 ~ 100 万之间调整。
  3. 3把模式、迭代次数、盐、IV 与密文按 “AESv1” 容器格式拼接后输出;解密时先解析容器头,再据此派生密钥并解密,因此无需单独传递盐与 IV。
  4. 4原始密钥模式输出不含容器头的裸密文,便于与 OpenSSL 等实现交叉验证;解密时需自行提供相同的模式、密钥与 IV。
  5. 5GCM 解密会校验认证标签(含可选 AAD),口令或密钥错误、密文被篡改都会统一报 “解密失败”,不泄露具体原因。

常见问题

我的明文和密钥会上传到服务器吗?

不会。所有加解密都通过浏览器内置的 Web Crypto API 在本地完成,页面不发起任何网络请求,断网也能正常使用,密钥与明文不会离开你的设备。

GCM、CBC、CTR 应该选哪个?

优先选 GCM:它是认证加密(AEAD),既能保密又能发现篡改,适合绝大多数场景。CBC 与 CTR 只提供保密性,密文被篡改可能无法察觉,仅在需要与既有系统对接时使用。

为什么用口令加密的密文更长?

口令模式下密文自带 “AESv1” 容器头,其中包含随机盐(16 字节)、IV(12 或 16 字节)与迭代次数等元数据,因此比原始密钥模式的裸密文多出约 40 字节。

同一个口令加密两次,密文为什么不一样?

因为每次加密都会重新生成随机的盐与 IV,即使口令相同,派生出的密钥与加密结果也不同。这是正常且更安全的做法,可有效防止重放与模式分析。

PBKDF2 迭代次数设多少合适?

默认 20 万次在安全性与速度之间较为平衡,也是常见推荐值。提高迭代次数会增加暴力破解成本,但加解密也会变慢;允许范围为 1 万到 100 万次。

解密时报 “解密失败:口令 / 密钥错误,或数据已损坏” 是怎么回事?

这表示口令、密钥或模式不匹配,或密文在传输中被截断、篡改。出于安全考虑,工具不会区分具体原因。请确认口令 / 密钥一致、密钥长度一致,且密文编码(Base64 / Hex)选择正确。

更多在线工具