JavaScript 和 Python 的 AES-128-CBC 解密代码示例
JavaScript 和 Python 的 AES-128-CBC 解密代码示例
本示例展示了使用 JavaScript 和 Python 实现 AES-128-CBC 解密算法的代码。代码使用相同的密钥和初始化向量,分别展示了 JavaScript 和 Python 的实现方法。
JavaScript 代码
const crypto = require('crypto');
const iv_str = 'ydsecret://query/key/BRGygVywfNBwpmBaZgWT7SIOUP2T0C9WHMZN39j^DAdaZhAnxvGcCY6VYFwnHl';
const key_str = 'ydsecret://query/iv/C@lZe2YzHtZ2CYgaXKSVfsb7Y4QWHjITPPZ0nQp87fBeJ!Iv6v^6fvi2WN@bYpJ4';
const aaa = Buffer.alloc(16, crypto.createHash('md5').update(iv_str).digest());
const bbb = Buffer.alloc(16, crypto.createHash('md5').update(key_str).digest());
const temp = crypto.createDecipheriv('aes-128-cbc', aaa, bbb);
function get_translate(encode_str) {
return temp.update(encode_str, 'base64', 'utf-8');
}
Python 代码
import hashlib
from Crypto.Cipher import AES
iv_str = 'ydsecret://query/key/BRGygVywfNBwpmBaZgWT7SIOUP2T0C9WHMZN39j^DAdaZhAnxvGcCY6VYFwnHl'
key_str = 'ydsecret://query/iv/C@lZe2YzHtZ2CYgaXKSVfsb7Y4QWHjITPPZ0nQp87fBeJ!Iv6v^6fvi2WN@bYpJ4'
aaa = hashlib.md5(iv_str.encode()).digest()
bbb = hashlib.md5(key_str.encode()).digest()
temp = AES.new(bbb, AES.MODE_CBC, iv=aaa)
def get_translate(encode_str):
return temp.decrypt(bytes.fromhex(encode_str)).decode()
注意:
- 以上代码示例仅供参考,实际应用中需要根据具体情况进行调整。
- 为了安全起见,请勿将密钥和初始化向量直接硬编码到代码中。
- 建议使用更安全的加密算法和密钥管理机制。
原文地址: https://www.cveoy.top/t/topic/mXg2 著作权归作者所有。请勿转载和采集!