我有一个对象,想在Node中使用sha256进行哈希处理。对象的内容是简单的Javascript类型。为了举例说明,假设如下:
var payload = {
"id": "3bab3f00-7d55-11e7-9b0a-4c32759242a5",
"foo": "a message",
"version": 7,
};
我是这样创建哈希值的:
const crypto = require('crypto');
var hash = crypto.createHash('sha256');
hash.update( ... ).digest('hex');
问题是,要传递什么来进行更新? 加密文档 中指出可以传递 ` | | | ` ,这似乎表明对象不适合传递。
无法使用 `toString()`,因为它会输出 `"[object Object]"`。可以使用 JSON.stringify,但我在其他地方读到过,对于相同的输入,stringify 的输出不能保证是确定性的。
还有其他选择吗? 我不想从 NPM 下载软件包。