反馈

文字加解密


      
密钥按口令处理:CryptoJS 用 OpenSSL 传统方式(Salted__ 前缀 + MD5 派生密钥/IV),密文可用 openssl enc -d -aes-256-cbc -a(旧版、不加 -pbkdf2)解开。与后端「原始密钥 + 指定 IV」的实现不通用,那种场景请用 AES 工具。
全部在浏览器本地运算,明文和密钥不上传。相关: AES 加解密 · 3DES · DES · RC4 · MD5 · SHA · Keccak · HMAC · Base64 · bcrypt · scrypt

📖 工具说明

1. 这个工具能做什么

一个页面里做两类计算,都基于 CryptoJS,全部在浏览器本地完成:

2. 关于兼容性(重要)

对称加密里的「密钥」是当作口令处理的。CryptoJS 沿用 OpenSSL 的传统做法:随机生成 8 字节盐,用 MD5 从口令派生出密钥和 IV,密文前面带 Salted__,整体再 Base64(所以密文形如 U2FsdGVkX1…)。

3. 算法安全提示

算法 状态
AES 目前的标准,可用
TripleDES 尚可,但慢、块小(64 位),新系统别用
DES / RC4 已被攻破,只为兼容老系统保留,别用于真正的保密
MD5 / SHA1 可造碰撞,不能用于安全校验或存密码,仅做非安全用途的指纹
SHA-256/512 安全的哈希
Keccak 以太坊等场景用的原始 Keccak,非 FIPS-202 SHA3 标准
存密码 用 bcrypt 或 scrypt,别用裸哈希

4. 使用步骤

对称加密:切到「对称加密」→ 选算法(推荐 AES)→ 填口令 → 选「加密 / 解密」→ 执行。加密结果发给对方,对方用同样的口令和算法解密。

哈希:切到「哈希」→ 选算法 → 输入文本(边输入边算);选 Hmac* 时要额外填 HMAC 密钥。

5. 常见问题(FAQ)

Q:这是真正安全的加密吗? A:AES 本身安全,但安全性取决于口令强度和信道。这类"发到聊天软件的密信"只能挡一般人,别用它保护高价值机密。

Q:解密一直失败? A:确认算法、口令完全一致,密文没有被截断或多了空格/换行,且确实是本工具(或兼容格式)加密的。

Q:这里的 Keccak 和"SHA3"是一回事吗? A:不是。CryptoJS 的实现是原始 Keccak(以太坊 keccak256 用的那个),不是最终 FIPS-202 标准的 SHA3,两者填充不同、结果不同。需要标准 SHA3 请用 SHA 工具。

Q:数据会上传吗? A:不会。加解密和哈希全部用浏览器里的 CryptoJS 完成,明文和密钥不发送到任何服务器。


相关:AES 加解密 · 3DES · DES · RC4 · MD5 · SHA · Keccak · HMAC · Base64 · bcrypt · scrypt。

📖 相关推荐