关于AES 加解密
AES(Advanced Encryption Standard,高级加密标准)是一种对称加密算法,由美国国家标准与技术研究院(NIST)于 2001 年发布,支持 128、192、256 位密钥长度。AES 加密速度快、安全性高,被广泛应用于文件加密、HTTPS 通信(TLS)、数据库字段加密、移动端数据保护等场景,是目前最主流的对称加密算法。
在开发中,开发者常需要在客户端或服务端使用 AES 加解密:加密敏感数据后存储到数据库、传输敏感信息时通过 HTTPS 之外的额外加密层保护、移动端本地数据加密、与第三方系统对接时按其要求加解密数据等。手动实现 AES 加密既繁琐又容易引入安全漏洞,借助成熟工具可以快速完成。
本 AES 加解密工具基于浏览器原生 Web Crypto API(crypto.subtle)实现,支持 AES-ECB、AES-CBC 两种模式,可选 PKCS7 填充,输出 Hex 与 Base64 两种格式。所有加解密操作在浏览器本地完成,明文与密钥不会上传到任何服务器。
核心特性
多模式支持
支持 AES-ECB(简单模式)与 AES-CBC(推荐模式,需 IV 向量)两种工作模式。
多密钥长度
支持 AES-128、AES-192、AES-256 三种密钥长度,按需选择安全级别。
双格式输出
加密结果同时输出 Hex 与 Base64 两种格式,适配不同业务场景。
Web Crypto 原生加速
基于浏览器原生 crypto.subtle API,硬件加速,性能与安全性均有保障。
本地处理零上传
所有加解密在浏览器内完成,明文、密钥、IV 均不离开您的设备。
使用场景
数据库字段加密
把用户手机号、身份证号等敏感字段 AES 加密后再存入数据库,避免数据库泄露导致数据暴露。
客户端数据保护
在浏览器端使用 AES 加密本地存储的敏感数据,配合密钥管理实现端到端加密。
第三方接口对接
与第三方系统对接时按其要求的 AES 模式与密钥加解密数据,本工具可快速验证加解密结果。
文件加密传输
在不能直接使用 HTTPS 的场景下,使用 AES 加密传输内容,确保数据机密性。
常见问题
ECB 与 CBC 模式有什么区别?
ECB 模式简单但安全性较低,相同明文块加密后密文相同,可能泄露数据模式;CBC 模式需要初始化向量(IV),相同明文加密后密文不同,安全性更高,是推荐使用的模式。
AES 密钥应该怎么生成?
建议使用密码学安全的随机数生成器(如 crypto.getRandomValues)生成 16 字节(AES-128)、24 字节(AES-192)或 32 字节(AES-256)的随机字符串作为密钥。切勿使用短密码或可预测内容作为密钥。
IV(初始化向量)有什么作用?
IV 用于 CBC 模式下确保相同明文加密后产生不同密文,避免攻击者通过密文模式推断明文。每次加密应使用随机生成的 IV,且可以与密文一起明文传输。
AES 加密后能解密还原原文吗?
能。AES 是对称加密算法,加密与解密使用相同的密钥。只要密钥正确,密文可以无损还原为原始明文。这与哈希(单向不可逆)不同。