AES加密/解密
AES加密解密工具,支持CBC、CFB、CTR、OFB、ECB模式,Pkcs7/ZeroPadding/NoPadding填充,128/192/256位密钥,Base64输出,自动识别密钥/IV格式
什么是AES加密?
AES(高级加密标准)是一种广泛用于保护数据的对称加密算法。它对128位数据块进行操作,支持128、192和256位密钥。AES是全球采用最广泛的加密标准。
加密模式有哪些?
CBC(密码块链接)将块链接在一起,安全性更好。CFB(密码反馈)将AES转为自同步流密码。CTR(计数器)使用计数器实现可并行加密。OFB(输出反馈)创建密钥流进行流加密。ECB(电子密码本)独立加密每个块——安全性最低,不建议用于大数据量。
什么是填充?
填充添加额外字节将数据对齐到块边界。Pkcs7是最常用和推荐的填充方式。Iso97971在Pkcs7填充前添加一个字节。AnsiX923用零和一个长度字节填充。Iso10126使用随机字节和长度字节。ZeroPadding用零字节填充。NoPadding要求输入恰好对齐到块边界。
输出格式是什么?
加密输出默认使用Base64编码,这是最常用且紧凑的格式。密钥和IV输入支持自动识别Hex、Base64或UTF-8格式——只需粘贴密钥或IV,工具会自动识别格式。
AES加密的安全建议?
使用强随机密钥(使用生成按钮)。优先使用CBC或CTR模式而非ECB。使用AES-256获得最高安全性。在CBC、CFB、CTR和OFB模式下,每次加密务必使用唯一的IV。切勿重复使用相同的密钥-IV组合。
我的数据会发送到服务器吗?
不会,所有加密和解密都在您的浏览器中使用CryptoJS库本地执行。您的数据、密钥和IV不会离开您的设备。
支持哪些密钥长度?
AES支持三种密钥长度:128位(16字节)、192位(24字节)和256位(32字节)。AES-128满足大多数使用场景,AES-192提供额外安全裕度,AES-256提供最高安全级别,推荐用于机密数据。
AES-128、AES-192和AES-256有什么区别?
区别在于密钥长度和加密轮数:AES-128使用10轮加密,AES-192使用12轮,AES-256使用14轮。AES-256安全性最强但速度略慢。对于大多数应用场景,AES-128已被认为在当前技术下无法破解。
AES的历史是什么?它用在哪些地方?
AES由美国国家标准与技术研究院(NIST)于1997年发起选型,用于替代DES。2001年正式成为标准。如今AES被全球政府、军队和金融机构广泛使用。它保护HTTPS连接、WiFi网络、磁盘加密和压缩文件。AES被认为是有史以来最安全的加密算法之一。
为什么不推荐使用ECB模式?
ECB模式对相同的明文块加密产生相同的密文块,这会暴露数据中的模式。例如,用ECB加密图片仍能看到图片轮廓。这使得ECB容易受到模式分析攻击。请始终使用CBC、CTR、CFB或OFB模式,并配合随机IV。
AES有哪些实际应用?
AES应用于HTTPS/SSL安全浏览、WPA2/WPA3 WiFi安全、VPN连接、蓝牙加密、加密通讯应用、磁盘加密(BitLocker、FileVault)、压缩文件(ZIP、RAR)以及政府机密文档保护。
Hex和Base64输出有什么区别?
Hex(十六进制)使用16个字符(0-9、A-F)表示二进制数据,字符串较长。Base64使用64个字符(A-Z、a-z、0-9、+、/),相同数据比Hex短约33%。两者都是将二进制数据表示为文本的常用格式。请根据系统需求选择。