使用crypto-js加密,使用crypto解密

时间:2020-07-23 11:32:09

标签: javascript node.js encryption cryptography

我正在尝试使用crypto-js加密字符串,并使用crypto(AES 256 CBC)对其解密。但是如果该消息是“ *要加密的测试消息*”,我得到的输出中,后半部分可以正常使用,但前半部分具有类似“���〜t_�d}〜a'/ o加密*”的垃圾。如果我使用crypto-js解密就可以了。

这是我用来加密的代码:

let CryptoJS = require('crypto-js');
let ENC_KEY = "ABCDEFGHJKLMNOPQABCDEFGHJKLMNOPQ";
let IV = "ABCDEFGHJKLMNOPQ";

var encrypted = CryptoJS.AES.encrypt(
    "* test message to be encrypted *",
    CryptoJS.enc.Utf8.parse(ENC_KEY),
    {
        iv: CryptoJS.enc.Hex.parse(IV),
        mode: CryptoJS.mode.CBC
    }
);

console.log(encrypted);

这是要解密的代码:

let crypto = require('crypto');
var messageToDecrypt = Buffer.from(message, "base64");
var key = Buffer.from(ENC_KEY, "utf8");
var iv = Buffer.from(IV, "utf8");
var decipher = crypto.createDecipheriv('aes-256-cbc', key, iv);
var clearText = decipher.update(messageToDecrypt, 'base64', 'utf-8');
clearText += decipher.final("utf-8");

console.log(clearText);

0 个答案:

没有答案
相关问题