Hallo ihr zwei,
leider bin ich wieder einer anderen Meinung, aber nicht was die grundsätzliche Herangehensweise angeht, sondern was die technische Umsetzung anbelangt.
Passwörter mit SHA etc verschlüsseln und in einer Datei (bzw
DB) lagern .
Das ist zu wenig, da man somit offen für Wörterbuchattacken ist. Durch SHA oder alle anderen Hashes werden gleiche Phrasen immer in die gleichen Hashes umgewandelt. Wenn ich also einmal eine originale Phrase zu einem Hash kenne, ist die Anwendung wieder anfällig.
Solche Wörterbücher (Rainbowtables) sind schnell erzeugt und noch schneller für billig Geld irgendwo gekauft. Wenn also jemand an die Daten deiner Datenbank kommt, dann bist du mit einfachem SHA nicht viel sicherer als mit Passwörtern im Klartext.
Das Zauberwort heißt gesalzene Hashes. Einen guten Einstieg findest du hier: http://www.heise.de/security/artikel/Passwoerter-unk…
Und da das Problem nicht nur eines von dir ist, bringt PHP gleich einen Satz von Funktionen mit, die das höchsteinfach lösen. Bitte friemel dir nicht selbst irgendwas zusammen, sondern nimm fertige und millionenfach getestete Standardfunktionen.
Hier steht in einfachem Deutsch, wie es gemacht wird:
http://www.heise.de/security/meldung/PHP-5-5-soll-Pa…
Und hier nochmal richtig: http://php.net/manual/de/function.password-hash.php
Niemals und nicht sollte ein System die
Passwörter kennen , braucht es ja auch nicht , dafür gibt es
den User , der alleine kennt seine passwörter .
Dem stimme ich uneingeschränkt zu.
Günther