问题描述
我尝试使用crypto-js解密文件(此文件中有一长串加密的base64)。 但我什么也没回来,文件也为空,日志也是如此。
const fs = require("fs");
const CryptoJS = require("crypto-js");
fs.writeFile("2pac.txt",decode(),(err) => {
if (err) throw err;
// success case,the file was saved
console.log("Lyric saved!");
});
function decode() {
// INIT
const encoded = fs.readFileSync("./base64.txt",{ encoding: "base64" });
// PROCESS
const decoded = CryptoJS.enc.Utf8.stringify(encoded); // decode encodedWord via Utf8.stringify() '75322541'
console.log(decoded);
return decoded;
}
在console.log中,我得到了测试,但是却什么也没得到(甚至未定义)。
解决方法
替换此行:
datasetB
具有:
datasetB<- read.table(text='NA 1 50.0001 NA
NA 1 50.00032 NA
NA 2 70 NA
NA 2 80 NA
NA 3 88.0004 NA
NA 3 100 NA
NA 3 101 NA
NA 2 102 NA')
编辑:
从文件读取base64数据是另一个问题。将datasetC <- read.table(text='Alex 1 50.0001 6.459945
Alex 1 50.00032 2.059983
NA 2 70 NA
Mark 2 80 -1.25
Janine 3 88.0004 -3.14772
NA 3 100 NA
NA 3 101 NA
NA 2 102 NA')
选项设置为const decoded = CryptoJS.enc.Utf8.stringify(encoded);
的文件中导入的数据确实可以保证使用字符串而不是缓冲区,但是希望输入再次通过const decoded = CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(encoded));
编码为base64字符串(双重编码)
要解决此问题,请更改以下内容:
encoding
收件人:
base64