Verschlüsselung
Ich möchte in meiner Datenbak die Passwörter meiner User verschlüsselt speichern und mit der Eingabe im Login-Formular vergleichen.
Ich ja kann in der Datenbank die Funktion PASSWORD auswählen und auch beim erstellen von Datensätzen per PHP verwenden:
Aber wie vergleiche ich ob das eingegebene Passwort mit dem gespeicherten überein stimmt?
Funktioniert nicht :-(
Wie muss ich vorgehen?
Ich ja kann in der Datenbank die Funktion PASSWORD auswählen und auch beim erstellen von Datensätzen per PHP verwenden:
|
|
PHP-Quelltext |
1 |
mysql_query("insert tabelle (..., Passwort,...) values (..., PASSWORD('" . $_POST['Passwort'] . "'), ...");
|
Aber wie vergleiche ich ob das eingegebene Passwort mit dem gespeicherten überein stimmt?
|
|
PHP-Quelltext |
1 2 3 4 5 6 |
$erg = mysql_query("select * from tabelle where username like '" . $_POST['username'] . "' AND where passwort like PASSWORD('" . $_POST['Passwort'] . "'))"
$num = mysql_num_rows($erg);
if($num == 1){
Anweisung
}
|
Funktioniert nicht :-(
Wie muss ich vorgehen?
Tipp des Tages:
Die neusten Infos, Tipps und Downloads zu aktuellen Games findet ihr unter News-2-You.de
Die neusten Infos, Tipps und Downloads zu aktuellen Games findet ihr unter News-2-You.de
http://www.php.net/md5
oder
http://www.php.net/sha1
VARCHAR ( 32 ) bzw. für sha1 VARCHAR ( 40 ) benutzen.
oder
http://www.php.net/sha1
VARCHAR ( 32 ) bzw. für sha1 VARCHAR ( 40 ) benutzen.
RE: Verschlüsselung
Du musst das eingegebene Passwort ebenfalls verschlüsseln und die verschlüsselten Begriffe vergleichen - insoweit hast Du es schon richtig gemacht. Was aber falsch ist: where kommt nur einmal vor. Das heisst, Deine Bedingung lautet:
Dann klappt es auch.
Gruß
Alfons
|
|
Quellcode |
1 |
where username like '...' and password like'...' |
Dann klappt es auch.
Gruß
Alfons


