AES 加解密
在线工具
在浏览器中使用口令 AES 加密和解密文本。兼容 CryptoJS 风格密文。
仅供演示与学习——密钥管理由你负责。口令与明文只留在浏览器中,不会上传。不是生产级 KMS。
固定预设:CryptoJS 口令 AES(OpenSSL 兼容 Salted__ Base64、AES-CBC、EvpKDF、随机盐)。同一明文每次加密可能得到不同密文。
- 输入0
- 输出0
- 选项加密
- 预设CryptoJS / OpenSSL
输入
密文
这个工具是什么?
用口令把短明文变成可携带的密文字符串,再用同一口令还原。通过兼容 CryptoJS 的口令 AES,仅在浏览器中处理。
固定预设为 OpenSSL 风格:AES-CBC、经 EvpKDF 派生密钥与 IV、随机 8 字节盐,以及解码后以 Salted__ 开头的 Base64。盐随机,因此同一明文两次加密通常得到不同密文——二者都可用同一口令解密。
仅作演示与学习。口令强度、存储与共享由你负责。不是认证加密(无 GCM)、不是裸密钥封装,也不是云 KMS 替代品。
常见用途
- 用已知口令验证 CryptoJS/OpenSSL 风格密文能否解密
- 教学或本地实验演示口令 AES
- 接入正式应用密码学前做短文本往返测试
如何使用
- 选择加密或解密。
- 粘贴明文(或密文)并输入口令;可用显示/隐藏核对输入。
- 点击加密或解密(显式运行—不会边输入边转换)。
- 复制结果。Sample 会填入无害的演示文本与口令。
示例
| 输入 / 设置 | 输出 | 说明 |
|---|---|---|
加密 hello + 口令 demo | 以 U2FsdGVkX1… 开头的 Base64 | 解码为 Salted__ + 盐 + 密文。 |
| 相同明文与口令加密两次 | 两段不同 Base64 | 每次盐不同;都可用 demo 解密。 |
| 错误口令解密 | 错误 | 口令不对或格式不匹配。 |
非 Salted__ 的 Base64 | 格式错误 | 需要本工具的 CryptoJS 预设,不是裸 AES hex。 |
实践中的常见误区
- 传输保护 ≠ 密钥共享: 在聊天里发送密文仍需带外安全共享口令。同时拥有两者的人可读内容。
- 不是生产 KMS: 无密钥轮换、审计、AEAD 或 HSM。请用云 KMS 或经过审计的库。
- 弱口令: 截获的密文可被字典攻击。敏感数据请用长随机密钥与正式应用密码学。
参考资料
最后审阅: 2026-07-27
常见问题
- 使用哪种 AES 模式与格式?
- CryptoJS 口令加密:AES-CBC,经 EvpKDF 从口令派生密钥与 IV,随机 8 字节盐,OpenSSL 兼容 Salted__ Base64。不是粘贴 hex 密钥的裸 AES,也不是 AES-GCM。
- Utill.net 能找回我的口令吗?
- 不能。加密只在浏览器中进行,丢失的口令无法恢复。
- 加密后发送就等于安全共享密钥吗?
- 不等于。密文仍需要安全通道或访问控制,口令须带外共享。传输保护不等于密钥管理。生产请用 AEAD 与真正的 KMS。
- 可以代替云 KMS 吗?
- 不可以。生产请用云 KMS/密钥库与带审计的应用密码学栈。本页只是本地演示工具。