簡體   English   中英

在 C# 中重新組裝加密 hmac 代碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM