Edited at

Excel VBA で SHA256

More than 1 year has passed since last update.


Excel VBA で SHA256

エクセルのマクロでSHA256値を算出します

必要に迫られて検索したら、程よいものがありました

ホント、感謝です

参考サイト: http://www.se-japan.com/memo/vbscript/


Function SHA256(s As String) As String
Dim objSHA256
Dim objUTF8

Dim bytes() As Byte
Dim hash() As Byte

Dim i
Dim wk

'// INIT
Set objSHA256 = CreateObject("System.Security.Cryptography.SHA256Managed")
Set objUTF8 = CreateObject("System.Text.UTF8Encoding")

'// 文字列を UTF8 にエンコードし、バイト配列に変換
bytes = objUTF8.GetBytes_4(s)

'// ハッシュ値を計算(バイナリ)
hash = objSHA256.ComputeHash_2((bytes))

'// バイナリを16進数文字列に変換
For i = 1 To UBound(hash) + 1
wk = wk & Right("0" & Hex(AscB(MidB(hash, i, 1))), 2)
Next i

'// 結果を返す
SHA256 = LCase(wk)

End Function