Einzelnen Beitrag anzeigen

philwo

Registriert seit: 18. Mär 2003
9 Beiträge
 
Delphi 7 Personal
 
#2
  Alt 18. Mär 2003, 17:44
Womit kodieren? Ganz einfach. Nimmst du dir die Funktion md5, oder die Funktion sha1: (ist eigentlich egal, obwohl SHA1 etwas sicherer sein sollte)

Definiert sind die als folgendes:

Code:
string md5 ( string str )
string sha1 ( string str )
Nun speicherst du bei der Anmeldung das gehashte Passwort des Typen so in der Datenbank:

Code:
$passwd = sha1($_POST['passwort']);
wo $passwd das gehashte Passwort ist und $_POST['passwort'] das eingegebene Klartext Passwort.

Wie du dann die Variable in deine DB packst, weißt du wahrscheinlich besser als ich ...

Wie du das dann vergleichst? Ganz einfach:

Beim Login machst du das gleiche:

Code:
$eingegebenes_passwd = sha1($_POST['passwort']);

if ($passwd_aus_datenbank == $eingegebenes_passwd)
{
  print("Herzlichen Glückwunsch, du bist der Chef.");
}
Wenn bei dir für zwei verschiedene Aufrüfe der md5() oder der sha1() Funktion was verschiedenes für den gleichen String rauskommt, ist DEFINITIV was kaputt bei dir, oder du machst was falsch ...

Du kannst auch die crypt() Funktion benutzen, welche jetzt bei PHP am sichersten ist, weiß ich nicht. Ich tippe mal auf crypt() mit MD5 oder Blowfish als Algorithmus, aber der muss wiederum nicht auf jedem System verfügbar sein. Krank.

(Edit: Die crypt() Funktion würde ich dir für den Anfang nicht empfehlen - da kommt wirklich immer was anderes raus, auch bei gleichen Strings. Liegt an der Funktionsweise: Um das sicherer zu machen, wird noch ein Zufallswert mit verschlüsselt. Den müsstest du auch irgendwie in der DB speichern und dann beim checken wieder auslesen. Nimm einfach md5() und alle sind glücklich. )

Philipp
  Mit Zitat antworten Zitat