7

I'm trying to write some code to work with an htdigest password file. The documentation I can find seems to claim that the format of that file is:

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

If that is the case, then why doesn't this work for me? I created a file with the command line htdigest thus:

htdigest -c test b a

When prompted for a password I entered 'c'. This creates a file with the contents:

a:b:02cc8f08398a4f3113b554e8105ebe4c

However if I try to derive this hash I can't,

echo a:b:c | md5

gives me "49d6ea7ca1facf323ca1928995420354". Is there something obvious that I'm missing here?

Thanks

wxs
  • 5,617
  • 5
  • 36
  • 51

3 Answers3

14

echo by default adds a trailing new line:

echo -n a:b:c | md5

Should work as you expect.

James Brady
  • 27,032
  • 8
  • 51
  • 59
2

Hm, I seem to have answered my own question. My test case was flawed, 'echo' is adding extra characters (not sure which). For instance

echo a:b:c | wc

gives 6 characters instead of 5. Calculating the hash at http://md5-hash-online.waraxe.us/ gives the correct value. Sorry everyone!

wxs
  • 5,617
  • 5
  • 36
  • 51
0

Here is how you set the password for a given user.

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