.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);
我正在尝试加密一个字符串,然后对其进行解密。但是,从字节到文本的转换工作不正常。
代码:
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);