【发布时间】:2020-06-15 07:05:30
【问题描述】:
谁能帮我在 NodeJs 中完成这项工作
下面是一个示例(C#),简要说明了如何计算签名:我想要它在 Node JS 中
- 将积分键的小写字母编码为 UTF-8 格式的字节 var
keyToBytes = Encoding.UTF8.GetBytes(integratorKey.ToString().ToLower()); - 创建一个使用密钥字节作为加密密钥 var
hmacSha256 = new System.Security.Cryptography.HMACSHA256(keyToBytes);的 HMACSHA256 例程 - 通过加密编码端点(仅限 URI 的绝对路径)和时间戳
var signatureBytes = utf8.GetBytes(String.Concat(new Uri(url).AbsolutePath, timeStamp));创建签名 - 将加密字符串转换为base-64字符串格式
var signature = Convert.ToBase64String(hmacSha256.ComputeHash(signatureBytes));
【问题讨论】:
-
以可执行格式发布参考代码更有意义(关于通过复制/粘贴的再现性)。同时发布您最近的 NodeJS 代码。
-
@Topaco 你是对的。我应该做同样的事情,但不幸的是我在 c# 中也没有任何工作的 sn-p,而且我不理解编码术语,这让我很困惑。我已经尝试了3个多小时,但没有成功。再次感谢
标签: c# node.js encoding utf-8 cryptography