0

SSHA パスワードを持つ OpenLDAP ユーザーがいます。彼の SSHA でエンコードされたパスワードを、php Web フォームで指定されたパスワードと比較したいと考えています。

残念ながら、ldap_compare はプレーン テキストのパスワードしか比較できません。

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

OpenLDAP で SSHA パスワードを比較できるように、平文のパスワードに基づいて PHP でまったく同じ SSHA パスワードを生成する方法はありますか?

または、それを比較する安全な方法はありますか?

「{SSHA}」は知っています。base64_encode(pack('H*',sha1($php_webform_password))) ですが、エンコーディングに必要なソルトはランダムなので、PHPで同じものを生成することはできません。

これに対する解決策はありますか?安全ではないため、OpenLDAP で平文のパスワードを使用したくありません。

ご協力ありがとうございました。

4

0 に答える 0