🔐 加解密全部在你自己的浏览器里完成,用的是浏览器内置的 Web Crypto(不是自己写的算法)。明文、密钥、口令都不会离开这台设备。

🔐 AES-GCM 加解密

0 字符 · 0 字节

口令会经 PBKDF2-SHA256 派生成 256 位密钥。口令强度直接决定安全性,短口令再多迭代也扛不住字典攻击。

迭代次数越高,暴力破解成本越高,但每次加解密都要多花一点时间。

📤 结果

0 字节
算法 —
IV(12 字节) —
Salt(16 字节) —
派生耗时 —
加解密耗时 —
密文长度 —

🔐 对称加密怎么选

同样是对称加密,差别主要在「有没有认证」。

算法是否认证特点建议
AES-GCM✅ 有同时加密和认证,能发现密文被篡改,速度快首选,本工具用的就是它
AES-CBC + HMAC✅ 有(需自己拼)先加密再算 MAC,正确实现较繁琐老系统兼容时才用
AES-CBC(裸)❌ 无密文被改也发现不了,有填充预言攻击风险不要用
ChaCha20-Poly1305✅ 有无 AES 硬件加速时更快,移动端友好好选择,Web Crypto 尚未内置
AES-ECB❌ 无相同明文块出相同密文块,会泄漏图案绝对不要用来加密数据

⚠️ 使用提示:① 这是文本级加解密工具,不适合直接处理超大文件(浏览器内存有限);② GCM 的 IV 绝不能重复——本工具每次加密都用密码学安全的随机数自动生成 IV 并写进封装串,你不需要手动管;③ 用口令模式时,口令强度就是你的安全上限,建议 12 位以上且不使用常见词;④ 务必先拿一段无关紧要的文字试一次,确认能正常解密,再去加密真正重要的内容;⑤ 口令、密钥无法找回——本工具不保存任何东西,丢了就是丢了;⑥ 涉及生产系统、合规要求或高价值数据,请使用成熟的加密库并接受安全审计。

🔐

AES 加密解密

加密工具 完全免费 🌙 支持黑夜模式 🔒 本地计算,不上传 🎲 随机 IV / Salt 📋 一键复制

想把一段文字发给别人又怕被看到?想临时存个密钥、备注、账号,又不想明文放着?
这个工具做的是一次干净的对称加密:
① 用的是浏览器原生的 Web Crypto,不是网上抄来的一段 JavaScript 加密代码——算法实现由浏览器厂商维护,可信度完全不同;
② AES-GCM:既加密又认证,密文被改一个字节就解不出来,不会「解出一堆乱码还以为成功了」;
③ 两种密钥来源:记口令就用口令(PBKDF2-SHA256 派生),有固定密钥就直接填原始密钥;
④ IV 和 Salt 全自动:每次加密都用密码学安全随机数重新生成,并写进结果串里,你不需要管,也杜绝了「IV 复用」这个最常见的致命错误;
⑤ 结果是一个自解析封装串:解密时自动读出迭代次数、salt、IV,不用你手动填参数。
全程在你自己的浏览器里完成,明文、口令、密钥都不会离开这台设备,页面上也没有任何网络请求。

类别加密工具
算法AES-GCM(128 / 192 / 256)
派生PBKDF2-SHA256,10 万~100 万次
运行环境需 HTTPS 或 localhost

核心特性

原生 Web Crypto
AES-GCM 认证加密
口令 / 原始密钥
随机 IV + Salt
自解析封装串
Base64 / Hex
耗时可视化
不上传

关于这个工具

怎么实现:
① 密钥派生:`crypto.subtle.importKey('raw', 口令)` → `deriveBits` 走 PBKDF2-SHA256,16 字节随机 salt,迭代次数可选(默认 31 万);
② 原始密钥模式:把你填的 Hex / Base64 解成字节,按长度自动判定 AES-128 / 192 / 256;
③ 加密:`crypto.subtle.encrypt({ name: 'AES-GCM', iv: 随机 12 字节, tagLength: 128 }, key, 明文)`。GCM 的认证标签(16 字节)由浏览器自动追加在密文尾部;
④ 封装格式:口令模式输出 `AG1$P$<迭代>$<salt>$<iv>$<密文>`,原始密钥模式输出 `AG1$K$<iv>$<密文>`,解密时自动识别拆分,你不用手动抄参数;
⑤ 随机数:salt 与 IV 都用 `crypto.getRandomValues()`,来自系统 CSPRNG,不是 `Math.random()`;
⑥ 解密失败:GCM 认证不通过时 `decrypt` 会直接抛异常(密钥错、密文被改都是这个结果),本工具会明确提示「密钥不对或密文被篡改」,不会返回乱码。
它不做:不做文件级加密、不做密钥托管与找回、不做非 GCM 模式(因为那些模式不安全)。

怎么用

  1. 第 1 步
    先拿一句无关紧要的话,走一遍加密 → 解密,确认能原样解回来。
  2. 第 2 步
    正式用:填明文,选「口令」并输入一个 12 位以上的强口令。
  3. 第 3 步
    点「🔐 开始加密」,复制结果串发出去。串里已经带了 salt 和 IV,对方不需要额外信息。
  4. 第 4 步
    解密:切到「解密」,粘贴整串,填同一个口令,点「🔓 开始解密」。
  5. 第 5 步
    口令要通过另一个渠道告诉对方——和密文一起发等于没加密。

更新记录

  • v1.0 2026-09-21 工具正式上线:基于浏览器原生 Web Crypto(crypto.subtle)实现 AES-GCM 加解密,支持口令派生(PBKDF2-SHA256,10 万~100 万次可选)与原始密钥(16/24/32 字节自动识别)两种模式;salt 与 IV 均由 getRandomValues() 生成并写入自解析封装串 AG1$P… / AG1$K…,解密自动拆分参数;输出支持 Base64 / Hex,附算法、IV、Salt、派生耗时与加解密耗时明细。非安全上下文(非 HTTPS / 非 localhost)给出明确引导。纯本地零依赖,适配黑夜模式。

常见问题

提示「当前环境不可用」怎么办?
浏览器规定:Web Crypto 只允许在安全上下文里使用。
安全上下文 = `https://` 开头的地址,或 `http://localhost` / `http://127.0.0.1`。
所以:
· 如果你是用局域网 IP(如 `http://192.168.x.x`)或自定义域名(如 `http://local.desk.com`)访问的,即使内容一样也不算安全上下文;
· 解决办法:改用 `https://` 访问,本地调试就换成 `http://localhost`。
这是浏览器的安全策略,不是工具的限制,换成 HTTPS 后功能完全一致。
口令忘了 / 密钥丢了能找回吗?
不能,也没有任何工具能。
AES 的设计目标就是「没有密钥就解不开」。本工具不保存口令、不保存密钥、不联网,没有任何后门。
所以请务必:
① 口令单独记在密码管理器里;
② 用之前先拿一段废话做一次「加密 → 解密」闭环测试;
③ 重要的密文多存一份备份,别只存在一处。
为什么解密时提示「密钥不对或密文被篡改」?
这是 GCM 的认证机制在正常工作,常见原因有三个:
① 口令输错了(最常见)——注意大小写、空格、中英文;
② 密文不完整——复制时被截断、换行被吃掉、聊天软件自动转义了特殊字符;
③ 输出编码对不上——对方给的是 Hex,你选了 Base64(或反过来)。
本工具在两种编码下都会尝试解析,但如果串本身缺了字符就无解了。建议整串复制,不要手动截取。
迭代次数选多少合适?
原则:在你能接受的等待时间内,尽量大。
· 10 万:兼容性最好,老设备也快,但防护偏低;
· 31 万(默认):性能与安全的平衡点,现代设备上约几百毫秒;
· 60 万:OWASP 对 PBKDF2-SHA256 的推荐下限;
· 100 万:更硬,但每次都要等 1 秒以上。
要注意:迭代次数挡不住弱口令。`123456` 配 100 万次迭代,照样秒破。口令强度永远是第一位。
能加密文件吗?
目前只支持文本。
原因是浏览器内存和 `textarea` 都撑不住大文件,硬塞只会卡死页面。
如果你要加密文件,建议用操作系统自带的能力(Windows 的 BitLocker / EFS、macOS 的「磁盘工具」建加密 dmg)或成熟工具(7-Zip 的 AES-256 加密压缩包、age、cryptomator)。
本站另有文件分片工具可配合处理大文件,但它不提供加密。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码