AES加密解密


				
选项设置
相关知识

AES (Advanced Encryption Standard) 是一种对称加密算法,也是当前最流行的加密算法之一,由美国国家标准和技术研究所 (NIST) 标准化,已经成为了国际标准。它的加密密钥长度可以为 128 位、192 位或 256 位,其中 128 位密钥版本最为流行。AES 是一种分组密码,将明文分成 128 位一组,然后分别进行加密,加密方式包括替换、置换、线性变换等基本操作。通过多轮迭代加密,在满足密钥安全性的前提下,能够提供很高的加密强度,以防止恶意攻击者的攻击。在许多场景下,AES 已经被广泛应用,例如数据传输、文件加密、数据库加密等等。

AES 加密模式对比
模式 是否需要 IV 特点 安全性 推荐程度
ECB (Electronic Codebook) 最简单,每个分组独立加密 ❌ 极低(同块明文→同块密文) 🚫 不推荐
CBC (Cipher Block Chaining) 每个分组依赖上个分组,常用 ✅ 高 ⭐⭐⭐⭐ 推荐
CTR (Counter) 将 AES 变成流加密,支持并行 ✅ 高(若计数器不重复) ⭐⭐⭐⭐ 推荐
CFB (Cipher Feedback) 类似流加密,能处理小于分组的数据 ✅ 较高 ⭐⭐ 一般
OFB (Output Feedback) 与 CFB 类似,易受同步攻击 ⚠️ 较低 ⭐ 一般,不推荐
AES 填充方式对比
填充方式 说明 优点 缺点 推荐程度
PKCS#7 用缺少字节数 N 填充 N 个字节 ✅ 通用,几乎所有库默认 ❌ 占用额外字节 ⭐⭐⭐⭐ 推荐
ZeroPadding 用 0x00 填充 ✅ 简单 ❌ 末尾有 0x00 时可能解密不准 ⭐⭐ 特殊场景
NoPadding 不填充,需手动保证数据长度是 16 的倍数 ✅ 无额外字节 ❌ 使用受限 ⭐ 仅限固定长度

返回顶部

切换主题

会员中心

建议反馈

×