C# Base64でエンコードされたHMACSHA256ハッシュ文字列

Base64でエンコードされたHMACSHA256ハッシュ文字列

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;
Base64でエンコードされたHMACSHA256ハッシュ文字列
Base64エンコードされた文字列結果

「KEmHEG1L9Y/2kRXNf/zIMfwf4NKIXX70qqjjIgCx3qc=」と表示されました

PythonHMAC SHA256 コード例は下記URLです

Excel VBAでファイルオープンダイアログを表示させる

Excel マクロの書き方

Excel VBAで下のようなファイルオープンダイアログを表示させるのはGetOpenFilename()コマンドで可能です。図形でボタンを作成しダイアログを表示させるマクロ実行までの手順です

Excel VBAでファイルオープンダイアログ
Excel VBAでファイルオープンダイアログ

Excelの[挿入|図形]で適当にボタンぽい図形を作成しておきます

[挿入|図形]でボタンを作成

図形が出来たら、その図形を右クリックし[マクロ登録]を選択

右クリックし[マクロ登録]を選択
右クリックし[マクロ登録]を選択

[マクロ登録]を選択すると下のような画面が表示されるので「マクロ名」に適当な名前をつけて[新規作成]ボタンをクリックします

「マクロ名」に適当な名前をつけて[新規作成]ボタンをクリック

[新規作成]をクリックするとVBA画面が表示されます

VBAここにコードを書く

コードを書くのは2行です

Sub FileOpenClick()
    Dim f As Variant
    f = Application.GetOpenFilename("テキストファイル,*.txt")
End Sub
VBAコードを書く箇所

上記のようにコードが書けたらVBA画面を閉じます

先程作成した[図形]までマウスを移動させると「指👆🏻」に変わっています ボタンをクリックするとファイルオープンダイアログが表示されました

[図形]にマウスを移動させると指マークに変わっている

「f = Application.GetOpenFilename(“テキストファイル,*.txt”)」この行の変数「f」に返り値が入るのでSheet1の1行目1列目セルに変数fに入った値を入れたコードは下記例です

Sub FileOpenClick()
    Dim f As Variant
    f = Application.GetOpenFilename("テキストファイル,*.txt")
    Worksheets("Sheet1").Cells(1, 1).Value = f
End Sub

Worksheetsからの1行が増えて3行のプログラムになりました。実行すると変数fに入っていた値がセル[A1]に入りました

セル[A1]にオープンダイアログで選択したファイル名が入りました

2022 MJELD TECHNOLOGIES. ALL RIGHTS RESERVED