AES 加密解密 🔒 本地处理

使用 AES-GCM 算法加密解密文本,PBKDF2 密钥派生,随机 IV,数据不离开您的浏览器

安全说明: 使用 AES-GCM 模式,自动生成随机 IV 和盐值。 输出格式: 盐值(16B) + IV(12B) + 密文 + 认证标签(16B) 。 所有加密操作均在浏览器本地完成,数据不会上传到服务器。

AES 加密解密完整使用指南

在浏览器本地用 Web Crypto 做文本 AES-GCM 加解密:口令经 PBKDF2(SHA-256,约 100000 次迭代)派生密钥,随机盐与 IV,密文可输出 Base64 或 Hex。可选 AES-128 / AES-256(#keyLength)。界面含明文/密文输入 #input、口令 #password、显示切换、输出格式 #outputFormat、处理/清空/复制。模式在加密与解密间切换(updateMode)。全程 crypto.subtle,数据不上传。适合敏感草稿本地保护演示,不是企业级密钥托管或文件盘加密产品。

算法管线(与脚本一致)

  • deriveKey:importKey 口令为 PBKDF2 材料 → deriveKey 得 AES-GCM 密钥。
  • 加密:生成 salt/IV → encrypt → 打包输出(格式含 salt、iv、密文,具体拼接以脚本为准)。
  • 解密:按格式解码 Base64/Hex → 拆分参数 → decrypt → UTF-8 明文。
  • 工具函数:arrayBufferToBase64/base64ToArrayBufferarrayBufferToHex/hexToArrayBuffer
  • 错误显示在 #error:口令错、格式损毁、非安全上下文等。

安全使用步骤

  1. 仅在 HTTPS 或 localhost 等安全上下文使用,确保 subtle 可用。
  2. 口令用长随机句,勿用生日;口令勿与密文一起发送。
  3. 加密后复制密文单独保存;忘记口令无法找回(设计如此)。
  4. 解密时格式(Base64/Hex)与密钥长度须与加密时一致。
  5. 公共电脑用完清空输入输出与剪贴板。

边界与误区

  • AES-GCM 提供机密性与完整性,但不替代传输层 TLS 的完整方案设计。
  • 弱口令会被暴力猜测;工具无法强迫你用强口令。
  • 非本工具产出的任意密文可能格式不兼容。
  • 大文本可能较慢;超大文件请用专用工具。
  • 页面若被恶意扩展注入则本地也不再可信,请注意浏览器环境。

常见问题

解密失败最常见原因?

口令错误、输出格式选错、密文被截断或多了空格换行。

128 和 256 怎么选?

一般默认 256;需与协作方约定一致,否则无法互通。

和「文本加密」其他页区别?

本页明确 AES-GCM + PBKDF2 管线;其他页可能算法或场景不同,不要混用密文。

能加密文件吗?

主界面面向文本;二进制文件请先明确是否支持或改用文件类工具。

协作约定模板

与同事交换密文时书面约定:算法 AES-GCM、密钥长度、输出 Base64 或 Hex、口令传递渠道(线下/密码管理器),绝不要把口令写在同一封邮件正文。轮换口令后旧密文需重新加密归档。

口令与输出保管

口令只用密码管理器生成与粘贴,避免浏览器记住在公共配置文件。密文可存网盘,口令另通道。Base64 与 Hex 不要混用同一条密文。复制后如需二次分发,确认未把明文留在 #input。清空按钮应同时清输出,防止肩窥。PBKDF2 迭代约十万次会带来可感知延迟,属正常换取慢哈希的成本。

失败排查清单

1)模式是否在解密;2)密钥长度是否一致;3)格式 Base64/Hex 是否一致;4)密文是否完整;5)是否在安全上下文。扩展程序劫持页面时不要处理真秘密。本工具不上传,但屏幕共享会暴露输入,远程协助时切换窗口。

与随机密钥页配合

可用随机密钥页生成高熵口令再粘贴到本页密码框。文件哈希页用于完整性校验,不替代加密。概念分离:加密藏内容,哈希验是否被改,随机密钥提供材料。