aardio代码
import console;
import crypt.aes;
import base64;
// 创建AES加密算法容器,默认加密模式CBC
var aes = crypt.aes();
//设置密钥(最大32个字节)
aes.setPassword("Jne3riS446NympYYAxo6t6eBQn8JdJVJ");
// 设置iv
aes.setInitVector("dpp47ypokYTRjVsz");
//加密
var ciphertext = aes.encrypt("hello world");
console.log("加密结果:" ++ base64.encode(ciphertext));
//解密
var plaintext = aes.decrypt(ciphertext);
console.log("解密结果:" ++ plaintext);
console.pause(true);
python代码
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad
import base64
# 1. 生成随机密钥和加密
key = "Jne3riS446NympYYAxo6t6eBQn8JdJVJ" # 32字节 = AES-256
iv = "dpp47ypokYTRjVsz"
data = "hello world"
# 2. 加密
cipher = AES.new(key.encode(), AES.MODE_CBC, iv.encode())
ciphertext = cipher.encrypt(pad(data.encode(), AES.block_size))
print(f"加密结果: {base64.b64encode(ciphertext).decode()}")
# 4. 解密
cipher = AES.new(key.encode(), AES.MODE_CBC, iv.encode())
plaintext = unpad(cipher.decrypt(ciphertext), AES.block_size)
print(f"解密结果: {plaintext.decode()}")