我很难找到 vb (不是 C)的函数或子函数,它提供了一种将给定字符串转换为 sha-1(或理想情况下为 sha512)哈希的简单方法。
如果有人可以在 VB 中提供一个函数,那将非常有帮助。
最近的尝试:
Function create_hash(ByVal password, ByVal salt)
Dim input As [Char]() = "string to hash".ToCharArray()
Dim secret As New SecureString()
For idx As Integer = 0 To input.Length - 1
secret.AppendChar(input(idx))
Next SecurePassword.MakeReadOnly()
Dim pBStr As IntPtr = Marshal.SecureStringToBSTR(secret)
Dim output As String = Marshal.PtrToStringBSTR(pBStr)
Marshal.FreeBSTR(pBStr)
Dim sha As SHA512 = New SHA512Managed()
Dim result As Byte() = sha.ComputeHash(Encoding.UTF8.GetBytes(output))
Return result
End Function
但这会导致 Visual stuido 在每次使用时都会在 SecurePassword 和 Marshal 下划线。这些被标记为未声明的变量,但声明它们会导致我找不到解决方法的其他问题。