我在工作表中找到了要使用的MD5,SHA1等实现: https://en.wikibooks.org/wiki/Visual_Basic_for_Applications/String_Hashing_in_VBA
在开发环境中调用MD5是可行的,但在工作表中是可行的
=MD5(A5;True)
,其中A5包含测试,我收到#REF!
错误。与=MD5("TEST";)
和=MD5("TEST")
相同。
我在做什么错了?
答案 0 :(得分:2)
答案 1 :(得分:0)
您需要将功能名称从MD5更改为其他内容。
Public Function BRGMOZ(ByVal sIn As String, Optional bB64 As Boolean = 0) As String
'Set a reference to mscorlib 4.0 64-bit
'Test with empty string input:
'Hex: d41d8cd98f00...etc
'Base-64: 1B2M2Y8Asg...etc
Dim oT As Object, oMD5 As Object
Dim TextToHash() As Byte
Dim bytes() As Byte
Set oT = CreateObject("System.Text.UTF8Encoding")
Set oMD5 = CreateObject("System.Security.Cryptography.MD5CryptoServiceProvider")
TextToHash = oT.Getbytes_4(sIn)
bytes = oMD5.ComputeHash_2((TextToHash))
If bB64 = True Then
BRGMOZ = ConvToBase64String(bytes)
Else
BRGMOZ = ConvToHexString(bytes)
End If
Set oT = Nothing
Set oMD5 = Nothing
End Function
并添加引用“ mscorelib”
编辑: Vityata已回答,对不起。