Hash mit MD5 in VB.NET
So, ich habe ein bisschen ein problem hier, ich habe eine Datenbank, einen login und eine Registrierung, die alle in verschiedenen Klassen, jetzt muss ich hash das Passwort in der Datenbank und lese es wieder aus beim einloggen, aber ich weiß nicht, wie Sie damit umgehen, ich such schon eine ganze Menge, aber konnte nicht finden, dass irgendetwas nützlich.
Hier ist meine login-Klasse
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.SqlServerCe
Public Class Login
Inherits System.Web.UI.Page
Private Sub LSend_Click(sender As Object, e As System.EventArgs) Handles LSend.Click
If Bibliothek.EntryExists(LNAME.Text, "Username") = False Then
LNAMELBL.Text = "Name oder Passwort Falsch."
Exit Sub
End If
If Bibliothek.EntryExists(LPW.Text, "Passwort") = False Then
LNAMELBL.Text = "Name oder Passwort Falsch."
Exit Sub
End If
Dim UserN As String = LNAME.Text
Session("Admin") = Bibliothek.GetValueBool(UserN, "IsAdmin")
Session("USERNA") = Bibliothek.GetValueBool(UserN, "Username")
Response.Redirect("/TSL/Home.aspx")
End Sub
Private Sub REG_Click(sender As Object, e As System.EventArgs) Handles REG.Click
Response.Redirect("/TSL/Registrierung.aspx")
End Sub
End Class
Wo sind Sie zu verschlüsseln, das Passwort und wo sind Sie zu prüfen? Kann nicht sehen, dass etwas in Ihrem code, der spiegelt Ihre Frage.
vielleicht vermisse ich formulierte Sie, von dem, was ich sah, so weit würde ich in dieser Klasse Recht? oder nicht? Ich bin Total verwirrt und weiß gar nicht, was zu tun ist.
vielleicht vermisse ich formulierte Sie, von dem, was ich sah, so weit würde ich in dieser Klasse Recht? oder nicht? Ich bin Total verwirrt und weiß gar nicht, was zu tun ist.
InformationsquelleAutor Koinzell | 2014-05-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist wichtig zu beachten, dass MD5 nicht mehr als ein guter Weg, um hash-Daten, die Sie schützen möchten. Siehe wikipedia für eine Diskussion der Schwachstellen.
Lesen Sie diese Antwort für hashing mit SHA.
Passwörter, die Sie sparen würde die hash des Benutzers PW für die DB. Da es ist one-way (es ist nicht leicht den ursprünglichen Wert zurück, aus dem hash), dies verhindert, dass jemand wie ein Hausmeister oder Kunden-service-rep in der Lage, um zu sehen die tatsächlichen Passwörter in der Datenbank.
Je nachdem, wie Sie es speichern möchten, anstatt ein mit
StringBuilder
zum erstellen einer hex-Zeichenfolge, die Sie verwenden könnenConvert.ToBase64String()
:Hashing getan werden sollte, mit
salt
. Dies ist-Daten Hinzugefügt, um den hash zu machen, das Ergebnis weniger vorhersehbar (es gibt Wörterbücher der Hash-Ergebnisse der gemeinsamen PW wie "Passwort"; Salz-das Ergebnis verändert):Salz sollte erstellt werden mit der Cryptographic random number generator, wie gezeigt, in der SHA-Version. Konvertieren Sie das Salz zum text (hex oder Base64), dann verbinden sich mit dem PW um den PW-hash.
Überprüfen/vergleichen, die der Eintrag eines Benutzers, einfach den hash der Eingabe und vergleicht es mit dem hash in der Datenbank gespeichert, mit dem gleichen Salz (das heißt, das Salz muss, um gerettet zu werden):
Wie geschrieben, die
GetHash
- Funktion verwendet werden soll, so etwas wie ein CryptoTools Klasse. Da es Shared/Static der Klasse muss nicht instanziert werden:Hinweis: Hashing groß-und Kleinschreibung, so
foobar
wird in einem unterschiedlichen hash alsFooBar
oderFOOBAR
. Erstellen Sie eine groß-und Kleinschreibung system, konvertieren Sie die ursprüngliche Zeichenfolge (z.B. ein Passwort) in Kleinbuchstaben um, bevor Sie berechnen Sie den MD5-hash-Wert gespeichert wird, und tun das gleiche für den Wert, den Sie später eingeben:InformationsquelleAutor Nat Pongjardenlarp
2 -, Insert-Namen und hash in Datenbank
3, Validierung
Während der Anmeldung nehmen MD5-Passwort wieder
führen Sie sql-Abfrage
wenn dreader liefert den Wert , dann gültige Anmeldung sonst ungültig login
InformationsquelleAutor Bender
InformationsquelleAutor mirko cro 1234
Wäre dies meine Lösung:
InformationsquelleAutor Indra Noprida IN