Passwort falsch

teufel964

Grünschnabel
Hi,

http://www.tutorials.de/cms-kommentare/374797-artikel-video-tutorial-login-mit-php.html#post1971675
Super Anleitung und sehr gut erklärt. Vielen Danke an den Verfasser.
Habe aber ein Problem. Das Scribt legt die Passwörter verschlüsselt in die db ab. Sehr gut, einfach klasse. Leider funktioniert bei mir der Weg zurück nicht.
Kann jemand helfen. Hier meine beiden Zeilen.
Aus der Registrirung:
$_POST['pass'] = hash('sha256', $_POST['pass'][0].$salt);
Aus dem Login
$password = hash('sha256', $password.$salt);
$salt habe ich überprüft, die stimmt überein. Trotzdem die Fehlermeldung :
Der Benutzername oder das Passwort ist falsch.

Danke für eure Hilfe im Voraus

Teufel 964
 
Also ich hab mir das Tutorial nich angeschaut, aber grundsätzlich ist es so:

Das Passwort wird nicht verschlüsselt sondern gehasht.
Der Unterschied ist, dass man Verschlüsselungen rückgängig machen kann und Hashen nicht.

Das ist auch so gewollt, denn wenn ein Hacker die Datenbank hackt und den Hash sieht, kann er daraus niemals wieder das Klartext-Passwort gewinnen, welbst wenn er deinen Salt oder sonstwas kennt. Und du kannst also aus dem Hash auch kein Klartext-Passwort mehr gewinnen.

Es soll nur so benutzt werden:
Nach dem Login wird das Klartext-Passwort gehasht und mit dem verglichen, was in der DB steht. Stimmt es überein, stimmen zwangsmäßig auch die Klartext-Passwörter überein und der User darf rein. Stimmen die Hashes nicht überein, stimmen auch die Klartext-Passwörter nicht überein und der User bleibt draußen.

Falls du das programmieren möchtest, um ein vergessenes Passwort zu versenden, so ist das nicht möglich.
 
Falls du das programmieren möchtest, um ein vergessenes Passwort zu versenden, so ist das nicht möglich.
Wie du vielleicht selbst schon erlebt hast, wird einem nie das Passwort gesendet. Bei Vergessen des Passwortes muss man immer ein neues setzen.

Man sagt auch Ein-Weg-Verschlüsselungen zu den Hash-Verfahren. Und zu den "normalen" Zwei-Wege-Verschlüsselung.
 
Was man anstelle des Passwort-Versendens machen kann ist
  • Man markiert den User in der DB als "Password vergessen" und schickt ihm eine Email mit Link, um das Passwort neu zu setzen (Der Link und der Eintrag in der DB sollten dann einen zufällig generierten Wert enthalten, der vor dem Passwort-Neusetzen vergleichen wird, um Missbrauch zu vermeiden)
 
Zuletzt bearbeitet:
Zurück