У меня есть код для генерации SHA512 га sh строки в Excel, но на некоторых ноутбуках она приводит к ошибке из-за проблемы, связанной с net framework. Я недавно нашел решение; когда я открываю выражение «Я» в окне локальных компьютеров, код может выполняться без ошибок.
Локальные данные:
Есть ли возможность вставить дополнительный код, который может расширить выражение "Я" в локальных системах, когда я начну запускать свой код VBA в Excel?
Sub sha512_kodolas()
Sheets("a").Range("a1").Value = h512(Sheets("b").Range("c1").Value)
End Sub
Function h512(ByVal S As String) As String
'https://msdn.microsoft.com/en-us/library/system.security.cryptography.sha512managed.aspx
Static UTF8 As Object, SHA As Object
Dim Data, Temp, i As Long
If SHA Is Nothing Then
Set UTF8 = CreateObject("System.Text.UTF8Encoding")
Set SHA = CreateObject("System.Security.Cryptography.SHA512Managed")
End If
Data = SHA.ComputeHash_2(UTF8.GetBytes_4(S))
ReDim Temp(LBound(Data) To UBound(Data)) As String
For i = LBound(Data) To UBound(Data)
Temp(i) = Right$("0" & Hex(Data(i)), 2)
Next
h512 = Join(Temp, "")
End Function