Dennis: Crypt::PasswdMD5 bzw. md5crypt.py jetzt auch in PHP

Beitrag lesen

Hi Fabian,

Seit heute gibt es durch die Arbeit von Dennis (und einiger Unterstützung durch mich ;-)) auch eine Implementation in PHP: md5crypt-1.0.lib.php

Jetzt war ich doch gerade in diesem Moment dabei, ebenfalls ein Posting zu schreiben, was diese Information enthalten sollte, lediglich durch das Thread-Abonnemont habe ich von deinem Posting erfahren. ;-)

Einen Absatz aus meinem angefangenen Posting möchte ich allerdings nicht unter den Tisch fallen lassen:

Allerdings wäre das wohl ohne die großartige Hilfe von Fabian St. nie
  fertig geworden - er hat am Ende auch den „finalen Fehler” gefunden.
  An dieser Stelle noch mal Danke dafür :-)

Größenteils wurde hierbei die Python-Version zum Vorbild genommen. Das Skript ist sowohl unter PHP 4 als auch unter PHP 5 lauffähig, wobei unter PHP 5 der Umweg über das pack('H*', md5($var)) weggelassen werden kann und man schlicht md5($var, TRUE) schreiben kann, da dieser Parameter neu hinzugekommen ist und für die Ausgabe des md5-Hashes in der »raw«-Version zuständig ist und nicht - wie sonst üblich - in der 32-stelligen hexadezimalen Form.

Vielleicht sei auch noch mal darauf hingewiesen, dass pack("C", "...") in PHP nicht das Gleiche zu machen scheint, wie in Perl - das war nämlich mein erster (nicht funktionierender) Lösungsweg. Erst das weglassen von pack (wie im Phyton Script) hat zum Erfolg geführt.

Der IHMO interessanteste Anwendungszweck ist die Funktion md5crypt_apache("password") - diese Funktion liefert ein gecryptetes Passwort zurück, wie man es in die .htpasswd Datei eines Apachen schreiben kann. Der Vorteil gegenüber dem alten Crypt oder der Methode die Passwörter als Plaintext in die Datei zu schreiben: Das auf MD5 Basis gecryptete Passwort funktioniert sowohl unter Windows als auch unter Linux.

MfG, Dennis.

--
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Das Leben ist kein Warenhaus - es nimmt nichts zurück. (Anette Louisan)