0
當我有這個簡單的MD5加密,但它似乎並沒有工作,當我檢查我的數據庫沒有已與我在密碼文本框中鍵入改變了我的密碼不會被加密。爲什麼插入VB.NET
這裏是我的代碼:
Dim strText As String = MetroTextBox6.Text
Dim bytHashedData As Byte()
Dim encoder As New UTF8Encoding()
Dim md5Hasher As New MD5CryptoServiceProvider
Using con = new MySqlConnection("server = localhost; user id = root; database = db; password = root")
Using cmd = con.CreateCommand()
con.Open()
Dim sqlQuery As String = "INSERT INTO candidate(uname,pword) VALUES("@votes, @pword")
With cmd
.CommandText = sqlQuery
.Parameters.AddWithValue("@uname", TextBox4.Text)
.Parameters.AddWithValue("@pword, MetroTextBox6.Text)
.ExecuteNonQuery()
bytHashedData = md5Hasher.ComputeHash(encoder.GetBytes(strText))
End With
MsgBox("Record Inserted")
End Using
...因爲您在*之前插入值*,所以計算散列,然後您不對散列做任何事情。你如何期待數據庫接收一個你還沒有創建的值? SQL設計得非常好,但它並不具有先見之明。 – David 2014-10-19 14:47:42
你也沒有輸入密碼 - 你是哈希它是一種方式。你不能解密它 – Plutonix 2014-10-19 15:02:12
沒有鹽的哈希? – Codexer 2014-10-20 00:54:52