gpt4 book ai didi

javascript - 如何对 JavaScript 中嵌套对象中的键顺序进行排序?

转载 作者:行者123 更新时间:2023-12-03 01:30:59 25 4
gpt4 key购买 nike

问题是:我有一个带有如下参数的请求:

{ "foo": "bar", "bar": "baz", "baz" : { "nestedKey": "foo" } }

我需要使用 Hmac512 算法对其进行签名,因此我需要首先对对象进行字符串化。

但是,我担心的是,如果不保留 key 的顺序,服务器和客户端生成的签名可能会不同。

为了处理这个问题,我的想法就是简单地对对象的键进行排序(包括嵌套在该对象内的键)。

我怎样才能实现这个目标?

最佳答案

如 OP 中所述,HMAC 进程的输入必须是确定性的。

但是 Javascript 对象元素的顺序无法设置,无论我们多么希望它们可以设置。 (我发现这个问题经常出现。)

答案是对字符串化字符串本身进行排序。

参见json-stable-stringify寻求解决方案。

然后将生成的字符串输入到 HMAC 方法中。无需进行base64编码。

关于javascript - 如何对 JavaScript 中嵌套对象中的键顺序进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51305935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com