Javascript NodeJS/JS如何通过sha256正确散列对象json和字符串(连接)
早上好,Javascript NodeJS/JS如何通过sha256正确散列对象json和字符串(连接),javascript,json,node.js,hash,sha256,Javascript,Json,Node.js,Hash,Sha256,早上好, 我想通过sha256散列对象参数和字符串(连接),但我不知道如何正确操作 我的对象: var params = { "name": "kacper", "age": 23 }; var string = "string to hash"; 我使用npm的it库sha256,但我的编码哈希是不正确的。 尝试哈希: var sha256 = require('sha256'); var hashing = sha256(params+stirng); console.log(
我想通过sha256散列对象参数和字符串(连接),但我不知道如何正确操作
我的对象:
var params = {
"name": "kacper",
"age": 23
};
var string = "string to hash";
我使用npm的it库sha256,但我的编码哈希是不正确的。尝试哈希:
var sha256 = require('sha256');
var hashing = sha256(params+stirng);
console.log(hashing);
谢谢您的帮助。首先让我们了解一下
params+string
的确切功能<代码>参数被转换为字符串,结果是[对象]
。最后一个字符串是要散列的[object]字符串
相反,您可能希望将整个params
对象作为字符串获取。这可以通过JSON.stringify
实现
console.log(JSON.stringify(params) + string);
然后,结果是要散列的{“name”:“kacper”,“age”:23}字符串
这就是你要找的吗?使用params
和string
作为字段创建对象可能是更好的做法
var obj = {
"params": {
"name": "kacper",
"age": 23
},
"string": "string to hash"
}
console.log(sha256(JSON.stringify(obj)));
谢谢你的回复,但它没有完成这个解决方案是好的,它对我不起作用,我需要准确地散列这个:“散列SHA256,包含所有post值和私钥的串联”,它看起来很好:SHA256(JSON.stringify(params)+string),但不起作用,也许它意味着连接对象参数中的所有值?i、 e.sha256(参数名称+参数年龄)
?