-3
私のハッシュmd5 + salt、saltはアプリケーション内であらかじめ作成されています。VB.NET DataGridViewでハッシュを復号化して表示する
Function md5hash(value As String) As Byte()
Return md5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(value))
End Function
Function decrypt(encryptedString As String, key As String) As String
de5.Key = md5hash(key)
de5.Mode = CipherMode.ECB
Dim buffer As Byte() = Convert.FromBase64String(encryptedString)
Return ASCIIEncoding.ASCII.GetString(de5.CreateDecryptor().TransformFinalBlock(buffer, 0, buffer.Length))
End Function
ここで、ハッシュされた(暗号化された)データベース内のデータを取得します。私はデータを取得することができますが、ハッシュします。同等の文字列ではありません。ここに私のDataGridViewコードです。
connection()
Dim dataAdapter As New MySqlDataAdapter
Dim dataTable As New DataTable
Dim bSource As New BindingSource
Try
conn.Open()
Dim query As String
query = "SELECT column07 AS 'Company ID', column08 AS Lastname, column12 AS Firstname, column06 AS Middlename, column02 AS 'Contact No.', column05 AS 'Current Address', column14 AS 'Permanent Address' FROM dbtest.table01 WHERE column15 = '" & encrypt("Single", salt) & "'"
command = New MySqlCommand(query, conn) 'I think this is the part where I put my decrypt method.
dataAdapter.SelectCommand = command 'Maybe here.
dataAdapter.Fill(dataTable) 'I dont know where and how
bSource.DataSource = dataTable 'Please help thanks!
DataGridView_Accounts.DataSource = bSource
dataAdapter.Update(dataTable)
conn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
conn.Dispose()
End Try
クエリは正常に動作しています。その復号化(デハッシング)はそうではありません。
ハッシュは一方向の暗号化であるため、復号化できません。また、MD5は今日の基準によるウェアハッシュ法です。 – Plutonix
私は言っているように、検索は機能しています。ハッシュされたデータを使用します。それはラベル/テキストボックスへの検索にも取り組んでいます。私はちょうどそれを取得し、datagridviewで表示する方法を知りません。 – Maki
私たちは 'de5'が何であるか知りません。あなたがやっていることの多くを' encrypt'が理解するのを見ることはできません。テキストとタイトルに目を向けると、ハッシュを「デハッシュ」することはできません。私はあなたが暗号化されていると思うし、MD5は塩をハッシュするためのものですか? – Plutonix