Kannst du mir das bitte erklären?
Alls hash-verfahren haben ein Manko: Mittels rainbow-tables (große, aber inzwischen händelbare Datenmengen) lässt sich aus einem hash (das ist es, was md5(string), sha1(string) u.s.w. liefert) EIN (es muss im Hinblick auf (Stichwort:)Kollisionen nicht der ursprüngliche sein) String ermitteln, der passt.
Um das verfahren zu erschweren:
man baue einen string der Länge n aus ziemlich zufälligen Zeichen. Das ist der Salt.
m Mal: string=salt+string string=hache(string) :danach, je nach Verfahren: string = "$" + Kennzeichen für hash-Verfahren + $ + 'rounds=' $m $ + salt + $ string; oder, wenn rounds schon mit dem verfahren fest gelegt ist: string = "$" + Kennzeichen für Verfahren + $ + salt + $ string;
Tja. string ist jetzt das m-fach gesalzene und gehashte Passwort.
Jörg Reinholz