在线文本AES加解密工具

本页用浏览器内置的 Web Crypto 在本地完成 AES 加密与解密,密文以 Base64 输出,口令与明文都不会离开你的设备,不上传任何服务器。支持中文,手机也能用,但需在 https 或 localhost 这类安全环境下运行。

加密口径:AES-256-GCM + PBKDF2(SHA-256)从口令派生密钥,随机盐 16 字节、随机 IV 12 字节,输出为 Base64(盐+IV+密文)。解密必须用相同口令与同一段 Base64。

使用方法

在线文本AES加解密工具是「填明文/密文、设口令、点加密或解密」三步:

  1. 在上方文本框填要加密的明文(如演示值「柳泉工具测试」),或粘贴要解密的Base64 密文。
  2. 「加密口令」填一个只有你知道的短语;「派生迭代次数」默认 10 万,越大越慢但更安全(限 1000~100 万)。
  3. 点「加密」得到 Base64 密文,点「解密」把 Base64 还原成明文;「复制结果」拿走当前结果;改内容后按 Ctrl/Cmd+Enter 重新处理。

在线文本AES加解密工具能解决什么

它解决「想在本地把一段文字加密保存、又不想装软件或上传到别人服务器」的需求,适合三类场景:

  • 本地密存:把备忘录、配置片段、临时口令加密成 Base64 后再存到笔记或文件,即使文件泄露也看不到原文。
  • 点对点传递:把密文发给对方,只口头/另通道告知口令,避免明文在聊天记录里裸奔。
  • 教学演示:直观看到「同一明文 + 不同随机盐/IV = 不同密文」,理解 AES-GCM 的随机化特性。

本页不做的事:不提供口令强度校验(弱口令仍可能被暴力破解,请自己设长一点);不做密钥托管或找回(口令忘了谁也解不开);不保证脱离本算法格式后能互解,密文格式是本页自定义封装。

原理和变量

① 用了哪个具体函数:核心是浏览器 crypto.subtle 的 encrypt/decrypt 与 deriveKey;密钥派生用 PBKDF2(SHA-256),对称加密用 AES-GCM,全部是 Web Crypto 标准 API。

② 关键参数为什么这样取:盐固定 16 字节、IV 固定 12 字节(GCM 推荐值),避免重放;派生迭代 10 万次让口令暴力破解成本变高;AES 选 256 位,兼顾强度与浏览器普遍支持。

③ 遵循哪个标准:AES-GCM 与 PBKDF2 均来自 NIST 标准(AES FIPS 197、PBKDF2 RFC 8018、GCM 在 NIST SP 800-38D),是业界通用的对称加密方案。

④ 输入怎么变成输出:明文「柳泉工具测试」先用 UTF-8 编码成字节,PBKDF2 从口令+随机盐派生出 256 位密钥,GCM 用随机 IV 加密得到密文,再把「盐+IV+密文」拼成字节流做 Base64,即为最终输出。

⑤ 边界与阈值:口令为空会提示「请填写加密口令」;迭代次数不在 1000~100 万会提示并回退 10 万;密文长度不足或非 Base64 会在解密时给出具体失败原因。

⑥ 常见误用的正确解释:Base64 只是编码不是加密,单独对它解码得不到明文;GCM 同时提供机密性与完整性,篡改密文会被解密拒绝而非吐出乱码;同一明文每次密文不同是因为盐和 IV 随机,这正常且安全。

完整示例(数值仅作演示)

明文 柳泉工具测试、口令 liuquan-demo、迭代 10 万:

  • 加密输出:一段以 Base64 表示的「盐(16B)+IV(12B)+密文」字符串,每次都不同。
  • 解密还原:把上面那段 Base64 粘回输入框、用同一口令点「解密」,得到原文 柳泉工具测试。
  • 若口令错:解密会失败并提示「口令或密文不正确,解密被拒绝」,不会泄露部分明文。
  • 若迭代改成 20 万:同一明文口令加密仍可得不同密文,但必须用 20 万才能解,否则失败。

这组示例说明本页「本地、随机化、口令绑定」的三条核心特性。

输入范围与对照表

在线文本AES加解密工具的对照表列出常见对称/相关算法的配置,帮你理解本页所选 AES-256-GCM 的位置:

常见对称加密与派生算法配置对照
算法 / 模式密钥长度分组 / 说明
AES-256-GCM256 位本页采用,带完整性校验
AES-128-GCM128 位GCM 模式,轻量场景
AES-192-GCM192 位GCM 模式,折中强度
AES-256-CBC256 位需额外做 HMAC 才有完整性
AES-128-CBC128 位传统 CBC 模式
AES-256-CTR256 位流模式,需防 IV 复用
AES-128-CTR128 位流模式,轻量
ChaCha20-Poly1305256 位移动端友好,带认证
AES-256-ECB256 位不推荐,无 IV 易暴露规律
3DES168 位老旧,逐步淘汰
SM4128 位国密分组算法
RC4可变已被攻破,仅作对照

本页选择 AES-256-GCM,是因为它在浏览器 Web Crypto 中普遍可用,且一次调用同时获得加密与完整性校验。

结果边界和舍入

输出性质:加密结果为 Base64 字符串(含盐、IV、密文),不是人类可读文本;解密结果为原始 UTF-8 文本,中文正常还原。

什么时候会提示:口令为空、迭代次数越界、密文非 Base64 或长度不足、口令与密文不匹配时,都会给出具体中文失败原因,而不是空白或乱码。

安全边界:AES-GCM 提供机密性与完整性,任何对密文的篡改都会被解密拒绝。但口令强度决定最终安全——弱口令仍可能被离线暴力破解。

结果用途:这是本地端到端的加解密,适合个人密存与点对点传递;不要把它当作用户认证或长期密钥管理方案。

常见问题

为什么每次加密结果都不一样?

因为每次都随机生成新的盐(16 字节)和 IV(12 字节),它们参与加密,所以同一明文同一口令也会得出不同密文。这反而更安全,不代表出错;解密时从密文里取出盐和 IV 即可还原。

Base64 是不是就是加密?

不是。Base64 只是一种编码,任何人都能解码。真正的保密来自 AES-GCM,Base64 只是为了让二进制密文能方便复制粘贴与存储。

口令忘了能找回吗?

不能。密钥完全由口令经 PBKDF2 派生,没有后端、没有托管。口令遗忘意味着密文永久无法解密,请务必记好口令。

在 http 页面能用吗?

多数浏览器只在安全上下文(https 或 localhost)下提供 crypto.subtle,http 下会不可用并提示。请用 https 打开本页再操作。

解密提示口令错误怎么办?

先确认三件事:口令完全一致(区分大小写)、密文是完整未截断的同一段 Base64、迭代次数与加密时相同。任一项不符都会解密失败。

中文会被正确加密吗?

会。明文先用 UTF-8 编码成字节再加密,解密后按 UTF-8 解码,中文、emoji 都能原样还原。

我的明文会上传吗?

不会。全部加解密在浏览器内用 Web Crypto 完成,没有任何网络请求;可在 Network 面板复查,点「加密/解密」时请求列表为空。

迭代次数越高越好吗?

不是越高越好。迭代次数越大,暴力破解成本越高,但加密/解密也更慢。10 万是体验与安全的折中;若在低端手机上明显卡顿,可降到 5 万。

相关工具