Dennis: Hashs für .htusers erzeugen mit Perl, Phyton oder PHP

Beitrag lesen

Hi XaraX,

Hm, irgendwie hatte ich heute nachmittag hier schon mal eine Antwort geschrieben, aber weiß der Kuckuck wie - irgendwie habe ich es geschafft sie nicht abzuschicken :-\

die Funktion md5crypt_apache() ist schön, aber angesichts der um den Faktor 20 schnelleren Funktion crypt() scheidet sie, wie auch mein Vorschlag, aus ;(

Nun, die crypt()-Funktion ist aber keine Alternative zur md5apache_crypt(). Auf neueren Systemen unterstützt crypt() zwar MD5, aber:

„CRYPT_MD5 - MD5 encryption with a twelve character salt starting with $1$“

Du musst den Salt String mit $1$ beginnen lassen, damit die „Cryptung“ auf MD5-Basis durchgeführt wird, jedoch für den Apache:

„htpasswd encrypts passwords using either a version of MD5 modified for Apache,
  or the system's crypt() routine“

Für den Apachen wurde das noch mal etwas abgeändert - diese Abänderung besteht darin, dass der Salt mit $apr1$ beginnt und leider kann man die aktuelle Implementation von crypt() in PHP noch nicht dazu bringen bei einem Salt, der nicht mit $1$ beginnt den Hash auf MD5-Basis zu berechnen.

Wenn du für den Apache also Hashs auf MD5-Basis verwenden willst (Grund: Platformunabhängigkeit) und diese mit PHP erzeugen willst, so hilft dir crypt() nicht weiter und du wirst auf md5crypt_apache() zurückkommen müssen ;-)

Und zur Performance: Die Hashs müssen ja nicht ständig generiert werden, sondern nur einmal, deshalb finde ich den Performance Nachteil verschmerzbar.

MfG, Dennis.

--
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Die FlatBox 0.3 mit Dokumentation ist da!
Denn wer 'ne Blacklist hat, muss halt daran denken, dass er manches nicht sieht... und vor dem posten die Realitaet einschalten. (Swen Wacker)