nodejs 把一个Obj 转成字符串 并用 crypto-js4.2.0库 计算字符串的 MD5值 用于判断Obj 是否改变完整代码
时间: 2024-09-25 17:18:22 浏览: 41
nodejs-md5:一个简单的节点模块,可为您提供文件或字符串的md5
在Node.js中,你可以使用`JSON.stringify()`方法将对象转换为字符串,然后利用`crypto-js`库来计算MD5哈希值。以下是完整的示例代码:
```javascript
const JSONStringify = require('json-stringify-safe');
const CryptoJS = require('crypto-js');
function objToMD5(obj) {
try {
let jsonString = JSONStringify(obj); // 防止对象循环引用导致的undefined
const hash = CryptoJS.MD5(jsonString);
return hash.toString(CryptoJS.enc.Hex);
} catch (e) {
console.error("Error while converting object to string or calculating MD5:", e);
return null;
}
}
// 示例对象
const myObject = { key: 'value', anotherKey: 'anotherValue' };
// 判断对象是否改变
let oldMD5 = objToMD5(myObject);
myObject.someProperty = 'new value'; // 修改对象
let newMD5 = objToMD5(myObject);
if (oldMD5 !== newMD5) {
console.log("对象已发生改变");
} else {
console.log("对象未发生变化");
}
阅读全文