所以我有以下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())