C#を使ってHMAC SHA256を利用する場合 System.Security.CryptographyをusingするとHMACを継承したHMACSHA256と云うクラスが入っています。そのHMACSHA256クラスを利用します。Base64文字列に変換するにはConvert.ToBase64String()を使います。
下記はコード例です
private string CreateSignature(string inputStr, string secretKey) { HMACSHA256 hmacsha256 = new HMACSHA256(Encoding.UTF8.GetBytes(secretKey)); var signature = hmacsha256.ComputeHash(Encoding.UTF8.GetBytes(inputStr)); var base64Signature = Convert.ToBase64String(signature); return base64Signature; }
下記のように、inputStrとsecretKeyに文字列を入れて実行すると、Base64エンコードされたHMACSHA256が作られます。
string inp = textBox1.Text; string outp = this.CreateSignature(inp, "mjeld1234"); textBox2.Text = outp;
「KEmHEG1L9Y/2kRXNf/zIMfwf4NKIXX70qqjjIgCx3qc=」と表示されました
PythonのHMAC SHA256 コード例は下記URLです