Crypt richtig benutzen
AndreR
- php
0 Vinzenz Mai0 AndreR
0 Christian Kruse
Wie benutze ich die Funktion crypt() richtig? Ich habe als Salt einen geMD5ten String verwendet, wenn ich damit allerdings das eingegebene Passwort verschlüsseln möchte, kommt Mist raus bzw. die erste paar Zeichen der Rückgabe sind immer exakt die selben. Wenn ich die beiden Dollars mit der Eins weglasse, wird die Rückgabe auf geschätzt acht Zeichen gekürzt.
Bsp:
return crypt($passwort, '$1$'.md5($key));
Hallo
Wie benutze ich die Funktion crypt() richtig?
so wie es im Handbuch steht.
Ich habe als Salt einen geMD5ten String verwendet, wenn ich damit allerdings das eingegebene Passwort verschlüsseln möchte, kommt Mist raus bzw. die erste paar Zeichen der Rückgabe sind immer exakt die selben. Wenn ich die beiden Dollars mit der Eins weglasse, wird die Rückgabe auf geschätzt acht Zeichen gekürzt.
steht doch auch im Handbuch :-)
Bsp:
return crypt($passwort, '$1$'.md5($key));
Lies bitte den Text zu salt im Abschnitt "Parameter Liste" [sic!]
Freundliche Grüße
Vinzenz
Lies bitte den Text zu salt im Abschnitt "Parameter Liste" [sic!]
Habe ich schon mehrfach, ich komme aber nicht drauf.
Hallo
Lies bitte den Text zu salt im Abschnitt "Parameter Liste" [sic!]
Habe ich schon mehrfach, ich komme aber nicht drauf.
... und es steht immer noch der gleiche Text da?
Das gleicht doch sehr Deinem Problem:
bzw. die erste paar Zeichen der Rückgabe sind immer exakt die selben.
Lies den Text erneut. Schau' Dir die Beispiele an, welche Auswirkungen hat das
Salt auf das Resultat. Lies den Text zu salt erneut.
Freundliche Grüße
Vinzenz
你好 AndreR,
Wie benutze ich die Funktion crypt() richtig? Ich habe als Salt einen geMD5ten String verwendet, wenn ich damit allerdings das eingegebene Passwort verschlüsseln möchte, kommt Mist raus bzw. die erste paar Zeichen der Rückgabe sind immer exakt die selben. Wenn ich die beiden Dollars mit der Eins weglasse, wird die Rückgabe auf geschätzt acht Zeichen gekürzt.
crypt() ist eine Hashing-Funktion, die, genau wie md5, nicht mehr genutzt werden sollte. Nutze lieber einen SHA-Algorithmus wie SHA256:
$phrase = "Some random string";
$hash = base64_encode(bin2hex(mhash(MHASH_SHA256,$phrase)));
Unter PHP5 etwas einfacher:
$hash = hash("sha256",$pass);
再见,
克里斯蒂安