AES与RSA在线加解密
AES支持CBC/CTR/CFB/OFB/GCM/ECB多种模式,RSA支持浏览器本地生成密钥对并OAEP加解密
参数
使用要点
- 同一密钥下 IV / Nonce 不能重复,尤其 GCM 与 CTR:重复使用会直接导致密钥流复用,明文可被恢复。IV 不需要保密,通常与密文一起传输。
- GCM 由浏览器内置的 Web Crypto 实现,需要 HTTPS 或 localhost 环境;其余模式由 crypto-js 在本地计算。
- 本工具的 GCM 密文为"密文 + 16 字节认证标签"拼接后的整体编码,这是 Web Crypto 与多数库(含 Go、Java 的默认实现)的通行格式。
- 直接用口令当密钥并不安全,应该用 PBKDF2 / scrypt 等 KDF 从口令派生固定长度密钥。
功能介绍
AES与RSA在线加解密覆盖对称与非对称两条常用路径。AES部分支持CBC、CTR、CFB、OFB、GCM、ECB六种模式:GCM由浏览器内置的Web Crypto实现(12字节随机nonce,密文按"密文+16字节认证标签"的通行格式编码),其余模式由crypto-js实现,支持Pkcs7/Zero/No三种填充;密钥长度按16/24/32字节严格校验,IV长度不符会明确报错,并提供随机IV生成。ECB模式会被显式标注为不推荐,因为相同明文块产生相同密文块会泄露数据结构。RSA部分同样基于Web Crypto:可在本地生成2048/3072/4096位RSA-OAEP密钥对并导出为SPKI/PKCS8的PEM,也可导入已有PEM进行加解密;工具会提示OAEP单次加密的明文上限(2048位约190字节)以及超出时应改用"RSA加密AES密钥、AES加密数据"的混合方案。Web Crypto要求页面运行在HTTPS或localhost下。所有运算均在浏览器完成,密钥与明文不会上传。
使用说明
1. 在AES区选择模式与填充,填写密钥(注意16/24/32字节对应AES-128/192/256);2. CBC等模式需要IV,可点击"随机生成"得到合法长度的IV,并记住解密方需要同一个IV;3. 输入明文点"加密",或粘贴密文点"解密",密文以Base64传递;4. GCM模式下认证标签已包含在密文尾部,密文被篡改会直接解密失败,这正是它比CBC更安全的原因;5. RSA区可点"生成密钥对"在本地生成并导出PEM,或粘贴已有的公钥、私钥PEM;6. 公钥加密、私钥解密,明文超过上限时请按提示改用混合加密;7. GCM与RSA需要HTTPS或localhost环境;8. 强烈建议不要把生产环境的私钥粘贴到任何在线工具,包括本工具。