.toString 没有将字节编码为 utf8 文本?

.toString not encoding bytes to utf8 text?

我正在尝试加密一个字符串,然后对其进行解密。但是,从字节到文本的转换工作不正常。

代码:

var cjs = require("crypto-js");
const fs = require("file-system");

var text1 = "Some text to be encrypted";

var ctext = cjs.AES.encrypt(text1, "key 123").toString();

var bytes = cjs.AES.decrypt(ctext, "key 123");

var uctext = bytes.toString();
console.log(bytes + "   "+uctext);
//console.log("\n\n\n\n\n\n" + uctext);
console.log(text1 === uctext);

代码在 "sides" 上都输出字节,并且应该等于原始文本的变量仍然只是字节。

你需要这样做 const uctext = bytes.toString(cjs.enc.Utf8);。在比较之前基本上将其转换为utf

完整代码

const cjs = require("crypto-js");

const text1 = "Some text to be encrypted";

const ctext = cjs.AES.encrypt(text1, "key 123").toString();

const bytes = cjs.AES.decrypt(ctext, "key 123");

const uctext = bytes.toString(cjs.enc.Utf8);
console.log(`${bytes }   ${uctext}`);
// console.log("\n\n\n\n\n\n" + uctext);
console.log(text1 === uctext);