NodeJS:crypto-js 输出与 bash 不同的 md5 散列
NodeJS: crypto-js ouputs a different md5 hash than bash
所以我有如下JS代码:
const Crypto = require("crypto-js");
const jsonFile = require('path/to/file.json');
console.log(Crypto.MD5(JSON.stringify(jsonFile)).toString());
问题是 console.log 生成的哈希值与我对 bash 中的文件进行 md5 时不同:
md5sum /path/to/file.json
我试过在 toString 中传递不同的编码,对 javascript 对象本身进行散列等,但到目前为止我无法获得匹配的散列。
我怀疑导入然后重新格式化您的内容没有帮助。我可以通过简单地将文件作为字符串读取来获得相同的哈希值:
const fs = require('fs');
const Crypto = require("crypto-js");
const data = fs.readFileSync('./input', 'utf8')
console.log(Crypto.MD5(data).toString())
所以我有如下JS代码:
const Crypto = require("crypto-js");
const jsonFile = require('path/to/file.json');
console.log(Crypto.MD5(JSON.stringify(jsonFile)).toString());
问题是 console.log 生成的哈希值与我对 bash 中的文件进行 md5 时不同:
md5sum /path/to/file.json
我试过在 toString 中传递不同的编码,对 javascript 对象本身进行散列等,但到目前为止我无法获得匹配的散列。
我怀疑导入然后重新格式化您的内容没有帮助。我可以通过简单地将文件作为字符串读取来获得相同的哈希值:
const fs = require('fs');
const Crypto = require("crypto-js");
const data = fs.readFileSync('./input', 'utf8')
console.log(Crypto.MD5(data).toString())