AES在线加密
AES在线加密工具
AES(Advanced Encryption Standard)是一种对称加密算法,是当前最流行的加密标准之一。本工具支持AES加密和解密功能,支持多种加密模式,提供便捷的在线加解密服务。
相关知识
AES(高级加密标准)是一种由美国国家标准与技术研究院(NIST)发布的对称分组密码算法,已成为全球加密技术的核心国际标准(如ISO/IEC 18033-3)。它采用128位固定分组,支持128、192或256位三种密钥长度,通过多轮代换、置换和线性变换操作实现高强度的加密。 凭借其公开、坚实的设计和卓越的效率,AES被广泛用于保护最高机密信息,并应用于网络安全、金融交易、数据存储和通信加密等几乎所有需要可靠数据保护的领域。该算法至今仍能有效抵御已知的密码攻击,是目前世界上最可信赖和广泛部署的加密标准。
AES模式参数对比(按推荐程度排序)
| 模式 | 密钥 | IV / 初始化向量 | 填充 | 特点 | 安全性 | 备注 | 推荐程度 |
|---|---|---|---|---|---|---|---|
| CBC (Cipher Block Chaining) | 必填(128/192/256位) | ✅ 必填(16字节) | 需要(如PKCS7) | 每个分组依赖上个分组,常用 | ✅ 高 | 最常用,安全性较好 | ⭐⭐⭐⭐ 推荐 |
| CTR (Counter) | 必填(128/192/256位) | ✅ 必填(Nonce+Counter) | 不需要(流模式) | 将 AES 变成流加密,支持并行 | ✅ 高(若计数器不重复) | 支持并行,常用 | ⭐⭐⭐⭐ 推荐 |
| CFB (Cipher Feedback) | 必填(128/192/256位) | ✅ 必填(16字节) | 不需要(流模式) | 类似流加密,能处理小于分组的数据 | ✅ 较高 | 可转为流密码 | ⭐⭐ 一般 |
| OFB (Output Feedback) | 必填(128/192/256位) | ✅ 必填(16字节) | 不需要(流模式) | 与 CFB 类似,易受同步攻击 | ⚠️ 较低 | 可转为流密码 | ⭐ 一般,不推荐 |
| ECB (Electronic Codebook) | 必填(128/192/256位) | ❌ 不需要 | 需要(如PKCS7) | 最简单,每个分组独立加密 | 极低(同块明文→同块密文) | 简单但不推荐(缺乏随机性) | 🚫 不推荐 |
AES 填充方式对比
| 填充方式 | 说明 | 优点 | 缺点 | 推荐程度 |
|---|---|---|---|---|
| PKCS#7 | 用缺少字节数 N 填充 N 个值为 N 的字节 | ✅ 通用,几乎所有库默认 | 占用额外字节 | ⭐⭐⭐⭐ 推荐 |
| ZeroPadding | 用 0x00 填充到块长度 | ✅ 简单 | 末尾有 0x00 时可能解密不准 | ⭐⭐ 特殊场景 |
| NoPadding | 不填充,需手动保证数据长度是 16 的倍数 | ✅ 无额外字节 | 使用受限 | ⭐ 仅限固定长度 |
| ANSI X9.23 | 最后1字节为填充长度,其余填充随机值 | ✅ 安全性高 | 实现稍复杂,需随机数生成 | ⭐⭐⭐ 安全性要求高时 |
| ISO10126 | 类似 ANSI X9.23,最后1字节为填充长度,其余随机值 | ✅ 安全性高,部分标准推荐 | 需随机数生成,实现复杂度略高 | ⭐⭐⭐ 特定标准场景 |
| ISO/IEC 9797-1 | 先填充 0x80,后面补 0x00 到块长度 | ✅ 较早标准中常见,实现简单 | 数据中不能包含 0x80 或 0x00 | ⭐⭐ 历史系统或特定设备 |

沪公网安备31010502007661号
