MySQL & PHP: Vergleichen eines eingegebenen Passwortes mit ENCRYPT von MySQL

This post was published 6 years 8 months 23 days ago, so the post may be outdated.

Ich stand gerade vor dem Problem, ein eingegebenes Passwort von einem HTML-Formular mit einer MySQL Datenbank zu vergleichen. Der Haken war jedoch, dass die Passwörter mit der ENCRYPT()-Funktion von MySQL verschlüsselt wurden.

Lässt man also ein Passwort in die MySQL Datenbank mit ENCRYPT(“passwort”) speichern, wird das Passwort zufällig verschlüsselt und wird bei so einen Beispiel-Vergleich mit PHP nie richtig sein:

mysql_query("SELECT password FROM users WHERE password=ENCRYPT('eingegebenes_passwort')")

Verzweifelt habe ich dennoch versucht, die Passwörter zu vergleichen.
Die Lösung war eigentlich einfach – wenn man es weiß…:

mysql_query("SELECT password FROM users WHERE password=ENCRYPT('eingegebenes_passwort', password)")

Das heißt, MySQL vergleicht – irgendwie – das eingebene mit dem vorhandenen Passwort und gibt danach das Passwort zurück, wenn das eingegebene Passwort richtig gewesen ist.

Ich hoffe es sparrt Euch viel Ärger und Nerven 🙂

Author: Patrik Kernstock

May I introduce my self? I am Patrik Kernstock, 23 years old, perfectionist, born and still living in Austria. Me explained in short: I am a tech- and security enthusiast, a series junky and gaming addicted. Basically my interests belong to many different things in the IT-world, but specially I am interested in Ubuntu/Debian, nginx, MariaDB, Docker and various software solutions by Microsoft, Veeam and VMware.

Leave a Reply

avatar

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
Notify of