crypt() liefert unterschiedliche Ergebnisse
Alexander
- perl
0 i-netlab0 Eidgenosse
Hallo,
ich habe folgendes Perl-Problem:
Aus einem String $cryptkey = "FWpdmner8H" (ist nur ein Bsp.) und einer E-Mailadresse ($email) wird mittels crypt() ein Key $akey generiert:
$akey = crypt("$email","$cryptkey");
$akey =~ s/^$cryptkey//isg;
Ich setze diesen Code in zwei Skripten ein, mit dem selben $cryptkey und übergebe die selbe E-Mailadresse.
Nun habe ich eigentlich erwartet, dass beides mal der selbe $akey herauskommt, was er aber nicht der Fall ist.
Hängt crypt noch von anderen Variablen ab (z.B. Systemzeit) oder habe ich irgendwo einen Fehler eingebaut.
Viele Dank für Euer Hilfe...
Alex :)
hi,
ich habe folgendes Perl-Problem:
Aus einem String $cryptkey = "FWpdmner8H" (ist nur ein Bsp.) und einer E-Mailadresse ($email) wird mittels crypt() ein Key $akey generiert:$akey = crypt("$email","$cryptkey");
das was du als $cryptkey bezeichnest ist das sog. salt bei crypt(). Verschiedene salts erzeugen auch ganz verschiedene encrypted strings.
Siehe auch
http://i-netlab.de/article/htpasswd.html
und
http://i-netlab.de/cgi-bin/crypt.cgi
Rolf
Hi,
erstmal vielen Dank für Deine Antwort.
das was du als $cryptkey bezeichnest ist das sog. salt bei crypt(). Verschiedene salts erzeugen auch ganz verschiedene encrypted strings.
Gut, das war mir eigentlich schon klar. Ich verwende in beiden Skripten jedoch den selben salt und erhalte trotzdem unterschiedliche Ergebnisse. Daher meine Frage, ob das Ergebnis neben der Eingabe ($email) und dem salt ($cryptkey) noch von weiteren Parametern abhängt wie z.B. Dateipfad oder Systemzeit.
Denn ich finde in den Skripten sonst keine Unterschiede und erhalten eben unterschiedliche Ergebnisse.
Viele Grüße...
Alex :)
Hi,
Gut, das war mir eigentlich schon klar. Ich verwende in beiden Skripten jedoch den selben salt
von dem übrigens ausschließlich die ersten beiden Zeichen relevant sind.
und erhalte trotzdem unterschiedliche Ergebnisse.
Dann sind die gecrypteten Strings unterschiedlich. Einer von beiden könnte beispielsweise einen (anderen) Zeilenumbruch am Ende haben.
Daher meine Frage, ob das Ergebnis neben der Eingabe ($email) und dem salt ($cryptkey) noch von weiteren Parametern abhängt
Nein.
Cheatah
Hallo Alexander,
der crypt-Befehl hängt nur von diesen beiden ab. Da muß an Deinem restlichen Code etwas nicht stimmen.
Was willst Du eigentlich mit der Zeile
$akey =~ s/^$cryptkey//isg;
Gruß
Eidgenosse