AES在线加解密工具

在线使用 AES 算法对文本加密解密,支持 CBC/ECB 模式、PKCS7 填充、128/192/256 位和自定义密钥与偏移量,纯浏览器本地运行,不上传密钥。

工具介绍

这是一个纯前端实现的AES在线加解密工具,所有运算都在您的浏览器本地完成,不会传输内容到服务器,保障您的数据安全。支持AES-CBC、AES-GCM两种安全模式,同时提供不安全的AES-ECB模式用于测试。

使用说明

技术原理

本工具使用浏览器原生的Web Crypto API(SubtleCrypto)实现AES加解密,具体流程:

AES-GCM模式是带认证的加密模式,可以验证密文是否被篡改,安全性更高。

注意事项

为什么解密时提示解密失败?

解密失败通常是以下原因之一:1. 密钥不正确,请检查密钥是否和加密时一致;2. IV不正确,请确认IV和加密时生成/使用的IV完全一致;3. 输入的密文格式不正确,请确认密文编码和你选择的输出格式一致;4. 如果使用GCM模式,密文可能被篡改,验证不通过。

加密时为什么需要IV?IV是什么?

IV(初始向量)是用于增加密文随机性的一个值,相同的密钥和明文,不同的IV会得到完全不同的密文,可以避免攻击者通过相同密文块推断明文。加密时IV不需要保密,但解密时必须使用和加密时相同的IV才能正确解密。本工具加密时会自动生成随机IV并展示给你,记得保存它用于解密。

AES不同模式有什么区别?我该选哪个?

- ECB:最老的模式,安全性极低,相同明文块会得到相同密文块,容易被破解,仅用于测试,不推荐使用。
- CBC:分组密码模式,需要IV,是目前应用广泛的安全模式,兼容性好,推荐使用。
- GCM:流式带认证加密模式,不仅加密,还可以验证密文没有被篡改,安全性更高,是推荐的现代模式。

为什么我的密钥一直提示长度不对?

AES要求密钥长度必须是16字节(128位)或32字节(256位)。如果你使用UTF-8字符串作为密钥,一个汉字通常占3字节,一个英文占1字节,所以128位需要正好16个英文字符,或者约5个汉字;256位需要正好32个英文字符,或者约10个汉字。如果你使用Base64编码的密钥,Base64编码后长度会比原始字节长约33%,所以16字节密钥Base64编码后是24个字符,32字节是44个字符。