Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJS/JS如何通过sha256正确散列对象json和字符串(连接)_Javascript_Json_Node.js_Hash_Sha256 - Fatal编程技术网

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(参数名称+参数年龄)