我正在为我的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);

10-08 04:59