我有一个带有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中使用纯文本密码,因为它不安全。
感谢您的帮助。