我正在为我的node.js项目集成一个支付网关。他们在python中有集成工具包,我对此没有太多经验。我将他们的更改从python移植到了javascript。它是否正确 ?
Python代码:
def encrypt(plainText,workingKey):
iv = 'hello'
encDigest = md5.new ()
encDigest.update(workingKey)
enc_cipher = AES.new(encDigest.digest(), AES.MODE_CBC, iv)
encryptedText = enc_cipher.encrypt(plainText).encode('hex')
return encryptedText
移植代码(Node.js):
function encrypt(plainText, workingKey){
var iv = 'hello';
var encDigest = crypto.createHash('md5');
encDigest.update(workingKey);
var enc_cipher = crypto.createCipheriv('aes-256-cbc', encDigest, iv);
var encryptedText = enc_cipher.encrypt(plainText).encode('hex');
return encryptedText;
}
最佳答案
它不起作用吗?我看到的唯一可能的问题是异步与同步。例如,触发var encDigest = crypto.createHash('md5');
时可能无法解析encDigest.update(workingKey);
。