Php openssl_在NodeJs或CrytoJS上解密类似函数

Php openssl_在NodeJs或CrytoJS上解密类似函数,php,node.js,reactjs,Php,Node.js,Reactjs,我从后端得到的字符串是“86GDR+lQfNA=”,我知道后端正在运行PHP,该字符串是由该代码生成的 openssl_encrypt('C12345', 'BF-ECB', 'the password') 现在在前端(ReactJS)可以解密字符串并使其返回为“C12345”,这是我目前从客户端使用node的测试代码 var encrypt = function (plain_text, encryptionMethod, secret) { var encryptor = cryp

我从后端得到的字符串是“86GDR+lQfNA=”,我知道后端正在运行PHP,该字符串是由该代码生成的

openssl_encrypt('C12345', 'BF-ECB', 'the password')
现在在前端(ReactJS)可以解密字符串并使其返回为“C12345”,这是我目前从客户端使用node的测试代码

var encrypt = function (plain_text, encryptionMethod, secret) {
    var encryptor = crypto.createCipher(encryptionMethod, secret);
    return encryptor.update(plain_text, 'utf8', 'base64') + encryptor.final('base64');
};

var decrypt = function (encryptedMessage, encryptionMethod, secret) {
    var decryptor = crypto.createDecipher(encryptionMethod, secret);
    return decryptor.update(encryptedMessage, 'base64', 'utf8') + decryptor.final('utf8');
};

var textToEncrypt = 'C12345';
var encryptionMethod = 'BF-ECB';
var secret = 'the password';

var encryptedMessage = encrypt(textToEncrypt, encryptionMethod, secret);
console.log(encryptedMessage); //zB1oSaKQvbA=

var decryptedMessage = decrypt(encryptedMessage, encryptionMethod, secret);
console.log(decryptedMessage);
上述代码是从中复制的

问题是“86GDR+lQfNA=”是用相同的加密方法和pass phase从PHP生成的,但是nodejs生成为“zB1oSaKQvbA=”,任何关于CryptoJS或CryptoJS的帮助都会很好,谢谢大家

谢谢