[英]Reassemble crypto hmac code in C#
我正在尝试从 JavaScript、Node js 代码重新组装 C# 中的代码。
我在 Node 中编写了完整的示例,只是为了确定代码是否正常工作,但现在我在 C# 中查找等效函数时遇到了问题。
使用 Node.js 的 JavaScript 代码。
var crypto = require('crypto');
var timestamp = Date.now() / 1000;
var what = timestamp + "hello";
var secret = "SGVsbG8gV29ybGQ=";
var key = Buffer(secret, 'base64');
var hmac = crypto.createHmac('sha256', key);
hmac.update(what);
var t = hmac.digest('base64');
console.log(t);
我只需要知道如何重新组装这些功能:
var key = Buffer(secret, 'base64');
var hmac = crypto.createHmac('sha256', key);
hmac.update(what);
这是 ac# 示例。 它包括一个功能。 您可以将时间戳信息作为我假设的字符串传递,但可以使用任何字符串来完成。
https://dotnetfiddle.net/eAZGfE
public static string HashString(string StringToHash, string HachKey)
{
System.Text.UTF8Encoding myEncoder = new System.Text.UTF8Encoding();
byte[] Key = myEncoder.GetBytes(HachKey);
byte[] Text = myEncoder.GetBytes(StringToHash);
System.Security.Cryptography.HMACSHA1 myHMACSHA1 = new System.Security.Cryptography.HMACSHA1(Key);
byte[] HashCode = myHMACSHA1.ComputeHash(Text);
string hash = BitConverter.ToString(HashCode).Replace("-", "");
return hash.ToLower();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.