PHP で外部認証をコーディングしたところ、すべてのユーザーの 99% で機能しました。ただし、認証は、絶対数でかなり多い残りの 1% に対しては機能しません。私はすでにIPBを書きましたが、彼らは私を助けることができません.
その理由は、md5 ハッシュを再構築しようとする方法にあることがわかりました。IPB ( https://www.invisionpower.com/support/guides/_/advanced-and-developers/miscellaneous/passwords-in-ipboard-r130 )が推奨する方法とまったく同じ方法を使用していることにもう一度注意してください。次のコード例は、作成された md5 がデータベース内の md5 と異なる例を示しています。ただし、フォーラムでの通常のログインはこのパスワードで機能します。
<?php
$md5 = 'e69618bbe9850fbaf633014f84b8f040';
$salt = '}i3#W';
$plainpass = 'Wv&Txq,LYD-su_6';
$saltedPassword = md5( md5($salt) . md5($plainpass) );
echo "Desired result: $md5 , actual result: $saltedPassword";
?>
目的の md5 に到達するにはどうすればよいですか? ユーザーのパスワードまたはユーザーのソルトと関係があると思います。したがって、すべてのユーザーの 99% で機能していますが、この例と他のユーザーでは機能していません。