Andavos: Passwort verschlüsseln

Beitrag lesen

Hallo,
ich habe vor 3 Tagen angefangen PHP zu lernen (mit ebook).

Meine Frage:

Ich möchte ein Login System bauen.
Man trägt sich auf einer Seite ein (Username + Passwort) und die Daten werden dann an diesen PHP Code gesendet:

<?
$user_name = array();

$passwort = md5($password);

$userdatei = fopen ("user.txt","r");
while (!feof($userdatei))
{
$zeile = fgets($userdatei,100);
$userdata = explode("|", $zeile);
array_push ($user_name,$userdata[0]);
}
fclose($userdatei);

if (in_array($username,$user_name))
{
echo "Username schon vorhanden";
}
else
{
$userdatei = fopen ("user.txt","a");
fwrite($userdatei, $username);
fwrite($userdatei, "|");
fwrite($userdatei, $passwort);
fwrite($userdatei, "\n");
fclose($userdatei);
echo "Ihre Anmeldung war erfolgreich!";
}
?>

In der user.txt wird das Passwort als als MD5 Code gespeichert.
Das sieht dann so aus:
Username|Passwort also z.B.:
b|92eb5ffee6ae2fec3ad71c777531578f

Wenn ich jetzt auf meine Login Seite gehe, und Username + Passwort eingebe, so sendet er die Daten an diesen Code:

<?

$password .= "\n";
$log=0;

$userdatei = fopen ("user.txt","r");
while (!feof($userdatei))
{
$zeile = fgets($userdatei,5000);
$userdata = explode("|", $zeile);
$passw = md5($userdata[1]);

if ($userdata[0]==$username and $passw==$password)
{
$log=1;
}
}
fclose($userdatei);

if ($log==1)
{
?>

Es geht

<?
}
else
{
echo "Du kommst hier net rein!";
}
?>

Der sagt aber immer "Falsche Passwort".
Wodran liegt das?

Wenn das Passwort nicht verschlüsselt gespeichert und abgefragt wird, dann sieht der Code so aus
<?
...
$userdatei = fopen ("user.txt","r");
while (!feof($userdatei))
{
$zeile = fgets($userdatei,5000);
$userdata = explode("|", $zeile);

if ($userdata[0]==$username and $userdata[1]==$password)
...
?>
Dann geht as Login System, bloß man muss nur die user.txt Datei aufrufen, und jeder sieht dann die Usernamen + Passwörter.

Kann mir bitte jemand sagen wie der Code richtig aussehen muss?
Ach ja, ich bin echt ein PHP Dau, also bitte nicht mir der Fachsprache anfangen.
Ich hab das Internet schon durchsucht, aber die meisten Texte hab ich nicht verstanden.

Über eine Antwort würde ich mich sehr freuen

Andavos