configurationApache使用密码和盐使用SQL Server身份validation

我有一个Web应用程序,我想要使用Apache身份validation保护。 我发现它使用sha1 +盐来存储密码。 由于auth_mysql_module已被弃用,我尝试使用authn_dbd_module 。 目前我正在运行debian wheezy。 这里是networking应用程序如何创build密码哈希值:

 <?php sha1($pw.$salt); ?> 

尝试使用PHP:

 sha1('password'.'salt') c88e9c67041a74e0357befdff93f87dde0904214 

我可以使用mysql重现哈希:

 SELECT SHA1(CONCAT(@pw, @salt)); 

尝试使用mysql:

 mysql> SELECT SHA1(CONCAT('password', 'salt')); +------------------------------------------+ | SHA1(CONCAT('password', 'salt')) | +------------------------------------------+ | c88e9c67041a74e0357befdff93f87dde0904214 | +------------------------------------------+ 

我的apache site.conf

  DBDriver mysql DBDParams "host=localhost user=<db_user> pass=<db_pass> dbname=<db_name>" <Directory /var/www/htdocs/> Options -Indexes Order allow,deny Allow from all AuthName "Please enter username and password" Authtype Basic require valid-user AuthBasicProvider dbd AuthDBDUserPWQuery "SELECT SHA1(CONCAT(password, salt)) AS password FROM users WHERE username = %s" </Directory> 

AuthDBDUserPWQuery行显然没有这样做,因为它会从(存储的散列和salt)中创build一个新的散列,并将其与input的密码进行比较。 和Apache的日志:

 [Sat Aug 22 XX:XX:XX 2015] [error] [client 92.XXX] user myusername: authentication failure for "/": Password Mismatch 

我知道既不推荐使用sha1也不使用短盐来存储密码。 但无论如何:有没有办法使authentication工作?