2008-12-27 91 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