[PHP] password_hash & password_verify +- Sponsor-Board.de (https://www.sponsor-board.de) +-- Forum: Community (/forumdisplay.php?fid=56) +--- Forum: Hilfe (/forumdisplay.php?fid=102) +---- Forum: Scripting (/forumdisplay.php?fid=108) +---- Thema: [PHP] password_hash & password_verify (/showthread.php?tid=63906) |
[PHP] password_hash & password_verify - Jerr0w - 15.09.2017 09:11 Moin, hab ein Problem mit password_verify.. password_hash wird nach erfolgreicher Registrierung im DB-Feld 'password' zum dazugehörigen User erfolgreich abgelegt. Allerdings kriege ich kein Match, wenn ich mich dann einloggen will.. Hier mal die PHP: PHP-Code: <?php
RE: [PHP] password_hash & password_verify - TwIXx - 15.09.2017 09:45 Moin Jerr0w, Im oberen Teil fragst du nach dem Password des Users in der Datenbank. PHP-Code: $hash_query = "SELECT password FROM `user` WHERE username='$username'";
PHP-Code: $query = "SELECT * FROM `user` WHERE username='$username' and password='$password'";
Da das Passwort in der Datenbank einen Hash ist kannst du nicht ein Passwort im Klartext damit vergleichen. PHP-Code: $password_hash = password_hash($password, PASSWORD_DEFAULT);
RE: [PHP] password_hash & password_verify - Jerr0w - 15.09.2017 10:03 Hi TwIXx, wenn ich das Passwort erneut hashen lasse beim Login, funktioniert doch meine Verify-Funktion nicht mehr? Soweit ich password_verify verstehe, wird das Plaintext-Passwort durch Eingabe ins Formular übergeben. Dieses wird dann durch die Funktion password_verify generell gehashed. Anschließend werden die beiden Hashes miteinander verglichen und wenn es ein Match gibt -> Login. Falls ich das irgendwie falsch verstanden habe, bitte korrigieren Wäre es möglich, dass du dich bei mir mal in Telegram oder so meldest? ([Link: Registrierung erforderlich]) bin für jede Hilfe sehr dankbar. RE: [PHP] password_hash & password_verify - TwIXx - 15.09.2017 10:08 Hi Jerr0w, Hast völlig recht , man sollte jeweils den ganzen Eintrag Lesen. Nicht nur die ersten paar Zeilen. Schreibe dich trotzdem Mal in Telegram an. LG TwIXx RE: [PHP] password_hash & password_verify - Schwester Wombat - 15.09.2017 12:18 Benutz einfach das Passwort nicht im SELECT_Query, weil du kannst auch über password_hash nicht mehr das selbe Ergebnis kriegen, da ein kombinierter String aus Hash und dem einmaligen Zufalls-Salt generiert wird. Die Funktionen nehmen dir quasi die komplette Arbeit ab - du musst nur den Rückgabewert von password_verify nutzen, ansonstne nirgends das Passwort überprüfen oder so. Also in Pseudocode: Nicht Code: SELECT USER WHERE username = $username and password = $password
Code: SELECT USER WHERE username = $username
|