← 返回工具箱

AES 加解密

AES CRYPT · 编解码与安全

基于 WebCrypto 的 AES-GCM 本地加解密,输入密钥与 IV,文本与密文支持 base64 / hex 双向输出;敏感内容全程不出浏览器。

密钥来源
IV · 12 字节(GCM)
输入(明文 / 密文)
输出
GCM(带认证,推荐)与 CBC(PKCS#7,对接存量老系统,不建议新项目使用);口令模式经 PBKDF2 派生,盐与参数随密文输出为 DK1.<模式>..<盐>..<密文> 信封,解方粘贴同一串即可自动还原。密钥、口令与内容全程在本机由 WebCrypto 处理,不出浏览器。

>_ 使用指南 · GUIDE

基于浏览器内置 WebCrypto 做 AES-GCM 的本地加解密:输入密钥与 IV,文本与密文都支持 base64 / hex 双向输出。整个过程在浏览器内完成,密钥与明文都不会离开你的设备,处理敏感内容时更放心。

GCM 是认证加密——它除了加密还带完整性校验,解密时如果密文被改过一个字节,会直接报错而不是悄悄返回乱码,这一点和 CBC 不同。密钥长度可选 128 / 256 位,越长的密钥暴力破解空间越大。IV 必须唯一,同一密钥下每次加密都应用新的随机 IV;加解密两端的密钥、IV、编码格式必须完全一致,否则会解密失败。

典型步骤:

  1. 选加密或解密:先确定这次是要加密还是解密
  2. 选密钥来源:原始密钥(hex / base64,16 / 24 / 32 字节)或口令派生(PBKDF2,随机盐与迭代次数随密文输出)
  3. 选模式:GCM(推荐,带认证)或 CBC(对接存量老系统,PKCS#7 填充)
  4. 输入 / 粘贴密钥、口令与 IV:加密时 IV 留空会自动随机生成
  5. 执行并复制:加密输出为 DK1. 信封格式,解密方粘贴同一串并给出同一密钥或口令即可自动还原

>_ 常见问题 · FAQ

Q1 · AES-GCM 和 AES-CBC 有什么区别?

GCM 是认证加密(AEAD),在加密之外附加一个认证标签,解密时会校验完整性,密文被篡改会直接报错;CBC 只提供加密、不带认证,受到篡改可能产生无提示的错误结果,且需要自己处理填充和 MAC。新项目优先选 GCM;本工具保留 CBC 选项仅供对接存量老系统。

Q2 · IV 可以重复使用吗?

不可以。同一个密钥下 IV 必须唯一,最好每次加密都用密码学安全的随机值。GCM 一旦在同一密钥下重复使用 IV,会严重削弱安全性、甚至泄露明文相关的信息。IV 不是秘密,可以和密文一起传输,但绝不能重复。本工具加密时 IV 留空会按所选模式自动生成 12 字节(GCM)或 16 字节(CBC)随机 IV。

Q3 · 为什么解密报错或结果是乱码?

最常见原因是两端参数不一致:密钥、口令、IV 或编码格式对不上,或密文在传输中被改过(GCM 会因此校验失败)。若密文是本工具输出的 DK1. 信封格式,模式 / KDF / 盐 / IV 都在其中自动还原,只需核对密钥或口令本身;若是外部系统生成的裸密文,请逐项核对密钥与 IV 是否完全相同、密文是否被截断或加了多余空白。

Q4 · 密钥应该多长?口令可以直接当密钥吗?

常见选择是 256 位(32 字节)或 128 位(16 字节),两者都被认为是安全的,256 位留了更大余量。密钥应当是随机生成的,而不是从口令直接来;本工具提供「口令派生」模式,口令经 PBKDF2 加 16 字节随机盐、默认 100000 次迭代派生 256 位密钥(迭代次数可调),派生参数与密文一起编码为 DK1. 信封输出,解密方粘贴同一串密文与同一口令即可,无需口头传递盐和 IV。

Q5 · 和 Base64、HMAC 工具的分工是什么?

三者职责不同:Base64 只做编码,把字节转成可打印字符,完全不保密;HMAC 只做认证,用密钥证明消息完整与来源,但内容仍可见;本工具才是真正的加解密,既隐藏内容又(在 GCM 下)校验完整性。需要保密用 AES,需要防篡改用 HMAC,需要编码用 Base64。

嵌入代码

把下面的代码复制到你的网页,即可将本工具嵌入为 iframe(自动隐藏导航与页脚)。

高度px
此工具在你的浏览器本地运行,输入内容不会上传。按 Ctrl K 可随时切换到其他工具。