VBA Excel HMAC SHA512 example

Захотел проанализировать в экселе данные с CRYPTSY, а их api использует SHA512. Нашел решение, которое работает. Для работы необходимо подключить библиотеку mscorlib.dll Microsoft.NET Framework v 4.0 . У меня она лежит по адресу C:\Windows\Microsoft.NET\Framework\v4.0.30319, а у вас может где-то ещё лежать. Код модуля (можно просто скопировать и вставить, и оно заработает)

Option Explicit
Private Sub Example()
Debug.Print Base64_HMACSHA512("Hello World", "My pwd")
End Sub
Function Base64_HMACSHA512(ByVal sTextToHash, ByVal sSharedSecretKey)
Dim asc As Object, enc As Object
Set asc = CreateObject("System.Text.UTF8Encoding")
Set enc = CreateObject("System.Security.Cryptography.HMACSHA512")
Dim TextToHash() As Byte, SharedSecretKey() As Byte
TextToHash = asc.Getbytes_4(sTextToHash): SharedSecretKey = asc.Getbytes_4(sSharedSecretKey)
enc.key = SharedSecretKey Dim bytes() As Byte: bytes = enc.ComputeHash_2((TextToHash)) Base64_HMACSHA512 = ToBase64String(bytes)
Set asc = Nothing: Set enc = Nothing
End Function Function
ToBase64String(rabyt) 'Ref: http://stackoverflow.com/questions/1118947/converting-binary-file-to-base64-string
With CreateObject("MSXML2.DOMDocument")
.LoadXML ""
.DocumentElement.DataType = "bin.base64"
.DocumentElement.nodeTypedValue = rabyt
ToBase64String = Replace(.DocumentElement.text, vbLf, "")
End With
End Function