如何从sql数据库vb.net中检索散列密码



下面的代码将文本框文本转换为可变字符和数字。例如:如果我在textbox1中键入"admin",则输出为"751cb3f4aa17c336186f4856c8982bf27"。现在,我想做相反的事情。有人知道吗?

Dim hs As Byte() = New Byte(49) {}
Dim pass As String = textbox1.Text
Dim md5 As MD5 = MD5.Create()
Dim inputBytes As Byte() = Encoding.ASCII.GetBytes(pass)
Dim hash As Byte() = md5.ComputeHash(inputBytes)
Dim sb As StringBuilder = New StringBuilder()
For i As Integer = 0 To hash.Length - 1
hs(i) = hash(i)
sb.Append(hs(i).ToString("x2"))
Next
Dim hash_pass = sb.ToString()

您不应该"反转"MD5哈希。哈希只能是一种方式。如果您希望能够反转编码的消息,则需要使用诸如base64之类的密码。值得注意的是,密码不能为您提供安全性,因为它们可以恢复到原始输入。

这个答案有助于解释差异及其不同的用例。

以下是一些关于使用System.Convert.ToBase64String()的文档,System.Convert.FromBase64String()可以逆转

最新更新