verwendetes Datenbanksystem: <SQL Server 2008>
Hallo zusammen,
ich habe hier im Forum eine Funktion gefunden, um Passwörter zu verschlüsseln. Es funktioniert auch wirklich super.
public String GetPasswordHash(String password)
{
var hash = MD5.Create();
return Convert.ToBase64String(hash.ComputeHash(Encoding.ASCII.GetBytes(password)));
}
Jetzt aber mal meine Frage:
Wie bekomme ich den Klartext wieder hin? Also wie dekodiere ich es wieder?
Wahrscheinlich ist es nur ein Wort, aber ich habe leider echt keine Ahnung, wie das gehen soll (Bin noch Rookie).
Danke und Gruß
Martin
Hallo,
du verschlüsselst das Passwort nicht, sondern bildest einen Hash und einen Hash kann man nicht wieder in Klartext wandeln. Zumindest nicht so ohne weiteres 😉
Siehe Wikipedia.
Du speicherst den Hash in der DB und wenn sich jemand einloggen will, generierst du wieder den hash und vergleichst die Hashs.
Ach so. Jetzt ist mir auch klar, was ich da mache. 😁
Danke.
Danke und Gruß
Martin
Hallo,
Das Thema wurde schon einige Male besprochen. Bitte benutze die Forumssuche und poste die besten Treffer hier. Vielen Dank!
Bitte beachte auch [Hinweis] Wie poste ich richtig? Punkt 1.1
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Hallo MarcinD,
es ist nicht möglich aus einem MD5-Hash das Passwort wieder zu entschüsseln. Das macht keinen Sinn und das wäre auch nicht der Sinn eines Hashes. Stattdessen kannst du einen anderen Verschlüsselungsalgorithmus verwenden oder du vergleichst zwei Hashes miteinander.
zero_x
zero_x | <span style="font-size: 10;">my</span><span style="font-size: 10;">CSharp</span><span style="font-size: 10;">.de</span> - gemeinsam mehr erreichen
Für längere Zeit inaktiv.
Guten Abend zusammen;
Das hier ist leider eins meiner Bauchschmerzthemen. Leider ist es durchaus möglich, auch bei MD5 einen Input zu erzeugen, der als gültiges Kennwort gilt.
Aber das betrifft auch viele andere Hashfunktionen.
Hatte mal was zusammengeschrieben; bitte die Querverweise lesen und "verstehen" was ein Kennwort-Hash bedeutet.
Kennwortsicherheit - Hashing von Kennwörtern
Liebe Grüsse
Xynratron
Herr, schmeiss Hirn vom Himmel - Autsch!
Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.
MD5 gilt seit Mitte 2004 als kompromittiert. D.h. bei neuen Projekten sollte man ihn meiden. Ansonsten hält der Hash noch einige Jahre Attacken stand, insbesondere wenn gesalzen wurde(was üblich ist).
Kennwortsicherheit - Hashing von Kennwörtern
Sorry, bitte ignorieren.