2016-03-18 6 views
0

Ich versuche, einen Benutzernamen und ein Kennwort Combo in einer .htpsswrd-Datei zu speichern. Bevor ich den Benutzernamen/das Passwort an den Server senden würde, um von einem PHP-Skript gespeichert zu werden, möchte ich das Passwort in MD5 Hash, so dass das Plain-Passwort nicht über HTTP ... Ich habe ein Skript gefunden, das wird Erzeuge mir einen MD5-Hash in Javascript, aber er wird vom Apache-Server nicht als gültiges Passwort akzeptiert. Hier ist, was ich immer bekommen:Apache-spezifische md5 Javascript-Implementation für .htpsswrd

password: a 
hash: 0cc175b9c0f1b6a831c399e269772661 

Was es sollte wie folgt aussehen:

password: a 
hash: $apr1$OcckEo.t$ohO2NxaQZm/YAcWfFZSLi. 

Diese Seite: http://aspirine.org/htpasswd_en.html sagt mir, dass der Hash besteht aus aus: Apache-spezifischen Algorithmus ein iterierter (1000-maliger) MD5-Digest verschiedener Kombinationen aus einem zufälligen Salz und dem Passwort. Dies ist die Standardeinstellung (seit Apache Version 2.2.18).

Alles was ich brauche, um eine Funktion zu haben, die mir eine beliebige Zeichenfolge Hash und die richtige Hash-Antwort zurückgeben wird. Und hier stecke ich fest! Jemand? :)

Antwort

1

Gut zwei Punkte:

1- This Library könnte mit helfen, was Sie zu tun versuchen.

2-Meine Empfehlung ist es, die MD5 auf das serverseitige Skript zusammen mit dem Salz zu verschieben. Auf der Client-Seite kodieren Sie base64, wenn Sie möchten, den Pass zusammen mit Ihren eigenen String-Operationen (und stellen Sie sicher, dass Sie den Input-Namen nicht als Passwort angeben). Ich habe diese Methode immer gemocht, einfach weil es für jeden, der versucht, herumzuschnüffeln, eine Nervensäge sein wird. Ich kann mit den Passwörtern umgehen, da ich die Serverseite mit allen weiteren Operationen mag.

Viel Glück mein Freund

+0

Danke. Ich sehe nicht wirklich, wie kann ich einen Schmerz in den Arsch machen, indem ich Base64 kodiere ... aber ich verstehe, dass es viel einfacher sein wird, zu tun, was ich will auf dem Server ...: D –

+0

Der Schmerz in der Ass ist, wenn sie die Variable dekodieren und sie unbrauchbar finden, da Sie ihre eigenen String-Operationen darauf ausgeführt haben. –

+0

Sorry, was meinst du mit String-Operationen? (me == noob) :) –