【问题标题】:NodeJS/JS How to correctly hash object json and string (concatenation) via sha256NodeJS / JS如何通过sha256正确散列对象json和字符串(连接)
【发布时间】:2018-06-29 12:47:48
【问题描述】:

早上好,
我想通过 sha256 散列对象参数和字符串(连接),但我不知道如何正确地做到这一点。
我的对象:

var params = {
   "name": "kacper",
   "age": 23
};
var string = "string to hash";

我使用了来自 npm 的库 sha256,但我的编码哈希不正确。
尝试哈希:

var sha256 = require('sha256');
var hashing = sha256(params+stirng);
console.log(hashing);


感谢您的帮助。

【问题讨论】:

    标签: javascript json node.js hash sha256


    【解决方案1】:

    让我们首先了解params+string 究竟做了什么。 params 被转换成字符串,得到[object Object]。那么你的最后一个字符串是[object Object]string to hash

    相反,您可能希望将整个 params 对象作为字符串获取。这可以通过JSON.stringify 完成。

    console.log(JSON.stringify(params) + string);
    

    那么结果就是{"name":"kacper","age":23}string to hash

    这就是你要找的吗?使用paramsstring 作为字段创建对象可能是更好的做法。

    var obj = {
      "params": {
        "name": "kacper",
        "age": 23
      },
      "string": "string to hash"
    }
    
    console.log(sha256(JSON.stringify(obj)));
    

    【讨论】:

    • 感谢您的回复,但它没有完成这个解决方案很好,它对我不起作用,我需要准确地散列这个:“哈希 SHA256 与所有帖子值和私钥的串联”,它看起来喜欢它很好:sha256(JSON.stringify(params) + string),但不起作用,
    • 可能意味着连接对象参数中的所有值?即sha256(params.name + params.age)?
    猜你喜欢
    • 2020-05-03
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    • 2020-11-21
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    相关资源
    最近更新 更多