AES 在线加密 / 解密

用口令对文本做 AES-256-GCM 加解密,密钥经 PBKDF2 派生 —— 全程本地运行,明文与口令永不离开浏览器

加密

在线 AES 加密 / 解密文本

本工具在浏览器内用 AES-256-GCM 对文本加密 / 解密。你只需提供一个口令,工具会用 PBKDF2(SHA-256,20 万次迭代) 配合每次随机生成的 16 字节 salt,把口令拉伸为一把 256 位 AES 密钥;加密时再生成随机 12 字节 IV,AES-GCM 既保证机密性,也带认证标签防篡改。最终输出是一段 base64:salt、IV 与密文(含 GCM 标签)拼在一起,解密时自动读回这些参数。

全程用浏览器原生的 WebCrypto(crypto.subtle)在客户端运行 —— 明文、密文与口令都只在本地处理、永不上传,可在浏览器 Network 面板自行确认。因为每次加密都用新的随机 salt 与 IV,同一段明文配同一口令两次加密也会得到不同密文,这是符合预期的安全特性。

常见问题

我的明文和口令会被上传吗?

不会。加解密全部用浏览器原生 WebCrypto 在本地完成,明文、密文与口令永不离开你的设备,也不发任何网络请求。

用的是什么算法和参数?

AES-256-GCM 做加密与认证;密钥用 PBKDF2(SHA-256,20 万次迭代) 从口令加随机 16 字节 salt 派生;每次加密用随机 12 字节 IV。输出为 base64( salt || iv || 密文+标签 )。

为什么同一段文字每次加密结果都不一样?

因为每次都生成新的随机 salt 与 IV,这让相同明文产生不同密文,是抵御重放与模式分析的标准做法。只要口令正确,任意一份密文都能解回原文。

解密时提示失败是怎么回事?

通常是口令输错,或密文被改动 / 复制不完整。AES-GCM 会校验认证标签,任何一个字节对不上都会拒绝解密并报错,而不会返回错误明文。