2008-12-27 71 views
4

我想寫一些代碼來使用htdigest密碼文件。我能找到的文檔似乎聲稱該文件的格式是:htdigest文件格式

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

如果是這樣的話,那麼爲什麼不這項工作給我嗎?我使用命令行htdigest創建了一個文件:

htdigest -c test b a 

當提示輸入密碼時,我輸入'c'。這將創建內容的文件:

a:b:02cc8f08398a4f3113b554e8105ebe4c 

但是,如果我試圖獲得該哈希我不能,

echo a:b:c | md5 

給我「49d6ea7ca1facf323ca1928995420354」。有什麼顯而易見的,我在這裏失蹤?

感謝

回答

11

echo默認添加一個尾隨新行:

echo -n a:b:c | md5 

像您期望的應該工作。

2

嗯,我似乎已經回答了我的問題。我的測試案例有缺陷,'回聲'是添加額外的字符(不知道哪個)。例如

echo a:b:c | wc 

給6個字符,而不是5. http://md5-hash-online.waraxe.us/計算散列給出正確的值。對不起大家!

0

以下是您如何設置給定用戶的密碼。

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