AES加密
AES加密和解密
📖 使用指南 点击查看详细使用说明和功能介绍
收起 展开
📖 使用指南
点击查看详细使用说明和功能介绍
AES加密解密工具
工具简介
AES(Advanced Encryption Standard,高级加密标准)是一种对称加密算法,是目前世界上最常用、最安全的加密算法之一。本工具支持AES-128、AES-192和AES-256三种密钥长度。
功能特点
- 多种密钥长度:支持128位、192位、256位密钥
- 多种加密模式:支持CBC、CFB、OFB、ECB等模式
- PKCS7填充:自动处理数据填充
- Base64/十六进制:支持输出格式选择
- 实时加密解密:输入即可获得结果
使用指南
📖 使用指南
基本使用步骤
- 选择模式:选择加密(Encrypt)或解密(Decrypt)
- 输入密钥:输入加密/解密使用的密码(8-32字符)
- 选择密钥长度:128位(16字节)、192位(24字节)或256位(32字节)
- 选择加密模式:推荐使用CBC模式
- 输入IV向量:CBC模式需要16字节IV(可选自动生成)
- 输入明文/密文:在输入框中输入内容
- 点击执行:获取加密/解密结果
输出格式说明
- Base64:适合网络传输,是最常用的输出格式
- 十六进制:适合调试和阅读,纯ASCII字符
安全性说明
- 请使用强密码,建议12位以上,包含大小写字母、数字和特殊字符
- 相同的明文在CBC模式下会生成不同的密文(因为IV不同)
- 请妥善保管密钥,丢失将无法解密
代码示例
// 使用 CryptoJS 进行 AES 加密
const CryptoJS = require("crypto-js");
const message = "Hello World";
const key = "my-secret-key123";
const iv = CryptoJS.lib.WordArray.random(16);
const encrypted = CryptoJS.AES.encrypt(message, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
// 输出 Base64 格式
console.log(encrypted.toString());
# 使用 PyCryptodome 进行 AES 加密
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
import base64
message = b"Hello World"
key = b"my-secret-key12345678" # 16 bytes for AES-128
iv = get_random_bytes(16)
cipher = AES.new(key, AES.MODE_CBC, iv)
ciphertext = cipher.encrypt(message + b"\0" * (16 - len(message) % 16))
# 输出 Base64 格式
print(base64.b64encode(ciphertext).decode())
AES(高级加密标准)是一种对称加密算法,广泛用于数据加密和安全通信。