2008-12-27 11 views
4

J'essaye d'écrire du code pour travailler avec un fichier de mot de passe htdigest. La documentation que je peux trouver semble prétendre que le format de ce fichier est:htdigest format de fichier

user:realm:MD5(user:realm:pass) 

Si tel est le cas, alors pourquoi ça ne marche pas pour moi? J'ai créé un fichier avec la ligne de commande htdigest ainsi:

htdigest -c test b a 

Lorsque vous êtes invité à un mot de passe je suis entré dans « c ». Cela crée un fichier avec le contenu:

a:b:02cc8f08398a4f3113b554e8105ebe4c 

Cependant, si je tente de tirer ce hachage Je ne peux pas,

echo a:b:c | md5 

me donne « 49d6ea7ca1facf323ca1928995420354 ». Y at-il quelque chose d'évident que je manque ici?

Merci

Répondre

11

echo par défaut ajoute une nouvelle ligne de fuite:

echo -n a:b:c | md5 

devrait fonctionner comme prévu.

2

Hm, il me semble avoir répondu à ma propre question. Mon test était défectueux, 'echo' ajoute des caractères supplémentaires (je ne sais pas lequel). Par exemple

echo a:b:c | wc 

donne 6 caractères au lieu de 5. Le calcul du hachage à http://md5-hash-online.waraxe.us/ donne la valeur correcte. Désolé tout le monde!

0

Voici comment définir le mot de passe pour un utilisateur donné.

sudo htdigest /etc/apache2/.htdigest yourrealm.com yourusername