Zu einem Passwort gehört ja auch ein Username, in der Datenbank werden somit Username + Passwort
als Hash gesichert.
Username: Max Mustermann
Passwort:
12345
Der
MD5 Hash von
12345 ergibt:
827ccb0eea8a706c4c34a16891f84e7b
Gibt man
827ccb0eea8a706c4c34a16891f84e7b in google ein so kann man sehen das dies der Hash zu
12345 ist.
Ein bisschen Salz dazu:
c1a3f0b1c2530e5ed1f160e981ce776d
Passwort + Salz:
12345 +
c1a3f0b1c2530e5ed1f160e981ce776d als MD5 Hash =
96f853c0ab69c35f2e40dede5a5e9d97
Username: Max Mustermann
Passwort:
96f853c0ab69c35f2e40dede5a5e9d97
Das Salz ist also nicht in der
DB zu sichern, zumindest nicht offensichtlich.
Man könnte auch einen Hash bilden aus Username + Passwort + Salz + Length(Username) + usw…
Gibt der Username jetzt sein Passwort ein so muss der Hash wieder berechnet werden, stimmen berechneter Hash und gesicherter Hash aus der
DB überein so stimmt das Passwort.