本文介绍了如何一个使用SecureString的创建SHA1或SHA512哈希?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想用在VB.NET一个SecureString的varible并且将其转换为SHA1或SHA512哈希值。如何将我安全的SecureString的转换为字节数组HashAlgorithm.ComputeHash会接受吗?
I would like to use a SecureString varible within VB.NET and convert that to a SHA1 or SHA512 hash. How would I securely convert the SecureString to the Byte array that HashAlgorithm.ComputeHash will accept?
推荐答案
键入它在C#和转换到VB。我希望它仍然有效!
Typed it up in c# and converted to VB. Hopefully it still works!
Dim input As [Char]() = "Super Secret String".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))
这篇关于如何一个使用SecureString的创建SHA1或SHA512哈希?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!