为什么我在crypto-js上得到格式错误的UTF-8数据错误?基本解码



我在尝试用crypto-js(包含一个长的base64编码字符串(解码文件时出错

错误:格式错误的UTF-8数据

我做错了什么,如何修复?

const fs = require("fs");
const CryptoJS = require("crypto-js");
console.log(decode());
function decode() {
// INIT
const data = fs.readFileSync("./base64.txt", "utf-8"); // Base64 encoded string
const encoded = data.toString();
// PROCESS
const encodedWord = CryptoJS.enc.Base64.parse(encoded); // encodedWord via Base64.parse()
const decoded = CryptoJS.enc.Utf8.stringify(encodedWord); // decode encodedWord via Utf8.stringify() 
return decoded;
}

我认为您错误地读取了base64文件。试着这样做,看看它是否有效;

const data = fs.readFileSync("./base64.txt", {encoding: 'base64'});

然后将数据直接传递给

const encodedWord = CryptoJS.enc.Base64.parse(data);

const data = fs.readFileSync("./base64.txt");
const encoding = data.toString('base64');

看看这是否解决了问题。

最新更新