Я пытаюсь воссоздать этот код nodejs для c #. Однако результаты не соответствуют ожидаемому значению. Я думаю, потому что мне нужно реализовать функцию дайджеста, как в nodejs. Но я не знаю, как на самом деле работает дайджест
==========================================
Вот фрагмент кода из nodejs:
var shaBody = crypto.createHmac('SHA256', base64Key)
.update(message);
var digestBody = shaBody.digest('base64');
console.log('Base64 Digest HMACSHA256 message: '+ digestBody);
==========================================
Вот код c #:
byte[] secretkey = new Byte[64];
ASCIIEncoding encoding = new ASCIIEncoding();
string base64String = Convert.ToBase64String(encoding.GetBytes(authKey));
secretkey = Convert.FromBase64String(base64String);
byte[] requestBody = new Byte[64];
requestBody =
Convert.FromBase64String(Convert.ToBase64String(encoding.GetBytes(body)));
using (HMACSHA256 hmac = new HMACSHA256(secretkey))
{
byte[] hashValue = hmac.ComputeHash(requestBody);
var hex = BitConverter.ToString(hashValue).Replace("-",
"").ToLower();
string requestSignatureBase64String =
Convert.ToBase64String(hashValue);
Console.WriteLine(base64String);
Console.WriteLine(hex);
Console.WriteLine(requestSignatureBase64String);
}