Сгенерируйте пароль SSHA в PHP, чтобы использовать ldap_compare для паролей OpenLDAP SSHA

У меня есть пользователь OpenLDAP с паролем SSHA. Я хочу сравнить его пароль в коде SSHA с паролем, указанным на веб-форме php.

К сожалению, ldap_compare может сравнивать только простые текстовые пароли:

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

Есть ли способ сгенерировать точно такой же пароль SSHA в PHP на основе обычного текстового пароля, чтобы можно было сравнить пароль SSHA в OpenLDAP?

Или есть какой-нибудь безопасный способ сравнить?

Я знаю "{SSHA}". base64_encode(pack('H*',sha1($php_webform_password))), но соль необходима для кодирования случайным образом, поэтому я не могу сгенерировать то же самое с PHP.

Есть ли решение для этого? Я не хочу использовать простые текстовые пароли в OpenLDAP, поскольку это небезопасно.

Спасибо за помощь.

0 ответов

Другие вопросы по тегам