在PHP中生成SSHA密码以将ldap_compare用于OpenLDAP SSHA密码

时间:2015-06-10 18:14:35

标签: php openldap salt ssha

我有一个带有SSHA密码的OpenLDAP用户。我想比较他的SSHA编码密码和php webform指定的密码。

不幸的是ldap_compare只能比较纯文本密码:

$check = ldap_compare($ldapconn, $dn, $ldap_password, $php_webform_password);

有没有办法在PHP中根据纯文本密码生成完全相同的SSHA密码,以便能够比较OpenLDAP中的SSHA密码?

或者有没有安全的方法来比较它?

我知道'{SSHA}'。 base64_encode(pack('H *',sha1($ php_webform_password))),但编码所需的salt是随机的,所以我不能用PHP生成相同的。

这有什么解决方案吗?我不想在OpenLDAP中使用纯文本密码,因为它不安全。

感谢您的帮助。

0 个答案:

没有答案