如何在.htpasswd文件中使用md5密码?

时间:2012-08-05 08:50:31

标签: php .htaccess .htpasswd

您好我正在尝试设置.htaccess.htpasswd文件,以查看用户是否可以访问特定目录。当新用户注册时,他们的密码使用PHP md5()函数加密,然后使用其他登录信息存储在数据库中。我想动态地将一些加密密码添加到我的.htpasswd文件中,以便它们可以进入子成员部分。我遇到了问题,因为.htpasswd文件可以使用crypt()函数加密的密码,但我不知道如何使用md5加密密码。

2 个答案:

答案 0 :(得分:6)

Documentation说:

  

htpasswd使用为其修改的MD5版本加密密码   Apache,或系统的crypt()例程。由htpasswd管理的文件可能   包含两种类型的密码;一些用户记录可能有   MD5加密的密码,而同一文件中的其他密码可能有   用crypt()加密的密码。

我认为您可以使用-m的{​​{1}}参数明确指定apache在htpasswd文件中使用md5s作为密码

如果您不想或不能使用htpasswd工具,可以从PHP创建基于 crypt()的密码:

htpasswd

答案 1 :(得分:3)

“我认为您可以使用-m参数htpasswd在htpasswd文件中明确指定apache使用md5s作为密码”

我刚刚在Ubuntu 12.04及更新版本中发现了相反的情况,它默认为md5,你必须使用-d标志才能使用Crypt。在其他地方也可能是这种情况,我似乎找不到htpasswd的版本号。