.htpasswd - Verschlüsselung

Steusi

Nasenbär
Hallo Leute kann mir jemand erklären, wie die Verschlüsselung funktioniert?

Also es gibt ja im Internet genügend Möglichkeiten sich die Datein zu erzeugen, wie kann es jedoch möglich sein, dass immer ein anderes verschlüsseltes PW entsteht bei gleicher Eingabe.
crypt, md5 ... was muss man wie kombinieren damit es funktioniert.
z.B. HIER:
http://www.gaijin.at/olshtcrypt.php

Dann sieht es ja auch wunderbar aus in der .htpasswd.txt:

Code:
Steusi:5Mxg.xgT7T7OQ
Hans:5M0q3O3WKQfmE
Wurst:5M0q3O3WHQfmE

Zudem bekomme ich die .txt Datei nicht erfolgreich editiert?
PHP:
$newuser = "Hans";
$newpass = "Passwort";   //Wie wird es verschlüsselt?
$dateiname = ".htpasswd.txt";

//txt auslesen

$handle =fopen($dateiname, "r");
$inhalt =fread($handle, filesize($dateiname));
fclose ($handle);
//echo ("User: ".$inhalt);


$inhalt .= "/n".$newuser.":".$newpass;


//txt öffnen und schreibrecht!
$handle =fopen($dateiname, "w");
// Schreibe in $handle die Varialbe $inhalt
fwrite ($handle,$inhalt);
fclose ($handle);
Ist das überhaupt der richtige Weg wie man einen neuen User anlegt?
Zudem klappt das
PHP:
"/n"
nicht, wie komm ich in eine neue Zeile?

Vielen Dank im Voraus
 
Zuletzt bearbeitet:
Du musst unterscheiden zwischen Verschlüsselung und einer Hash-Funktion.


In deinem Fall genügt die md5-Funktion völlig
Woher weiß das Programm, welches Verfahren ich verwende muss ich das irgendwo angeben. Zudem ist md5 wirklich eine Verschlüsselung, da streiten sich die Geister?


Hier muss ein Backslash hin, also:
Code:
"\n"
Oh Dümmer gehts jawohl nicht .... :D

Die Datei nennt sich .htpasswd und nicht .htpasswd.txt
OH DANKE
 
Hashing ist eine eindeutige Abbildung einer Zeichenmenge auf eine Zeichenmenge mit meist definierter Größe. Diese Operation ist nicht umkehrbar, da ein gehashter Wert für mehrere Ausgangszeichenketten stehen /kann/.

Verschlüsselung hingegen ist eine eineindeutige Abbildung einer Zeichenmenge auf eine andere unter Verwendung eines (oder mehrerer) Schlüssels. Damit ist die Verschlüsselung wieder umkehrbar.
 
Verwende einen so genannten Salted Hash. Wenn du den Salt zufällig wählst, sind die Hash-Werte auch bei identische Eingabe unterschiedlich.
Und wenn du eine HTTP-Authentifizierung nutzen möchtest, empfehle ich dir Digest statt Basic, da hier das Klartextkennwort nicht einfach nur kodiert sondern wieder als Salted Hash übertragen wird.
 
Also nutze ich keine Verschlüsselung damit sondern missbrauche eine Prüfsumme habe ich das richtig verstanden :D
Danke an alle.
Aber wie könnte ich den ein Passwort wirklich verschlüsseln?
Bin von der Idee htpasswd zu nutzen weg gekommen, eine MySQL-DB ist einfach schicker dort kann ich auch mit md5() arbeiten, aber ich würde es gern sicherer machen.
htpasswd sowie meine MySQL-DB funktioniert schonmal. Möchte nur was sicheres.
 
Eine Verschlüsselung ist gar nicht nötig, da du das Klartextkennwort gar nicht brauchst, um festzustellen, ob dein Gegenüber das Kennwort weiß. Es reicht hier nur die Prüfsummen zu vergleichen.
 
Ja, das weiß ich klappt auch :D Wollte nur wissen ob es sicher genug ist, aber so wie es sich anhört ja also reicht md5() föllig aus. DANKE
 
Zurück