私はクリプトとフグを使ったシンプルなログインシステムを持っています。しかし、私の人生では、関数がデータベースに保存されている登録済みパスワードを生成しない理由がわかりません。crypt 関数の何が問題になっていますか?
パスワードがデータベースに登録されている場合は次のとおりです。
function unique_md5() {
mt_srand(microtime(true)*100000 + memory_get_usage(true));
return md5(uniqid(mt_rand(), true));
}
if ($password == $password_again) {
$md5 = substr(unique_md5(), 0, 15);
$string = '$2a$07$' . $md5;
$password = trim($password);
$protected_password = crypt($password, $string);
//rest of code involved putting that $protected_password into database
ログインページのコード
$password = 'password';
echo '$2a$07$4cf0aa3a82e8d78$$$$$$.M4dWdC3N7OF.hphzfyswwszM7RFJUfu';
//the echo below echos out the exact same thing as the echo above, but the if statement
//recognizes it as not equal to
echo $registered_password = registered_password($mysqli, $username);
if ($password == crypt($password, $registered_password))
{
echo 'Working';
} else {
echo 'Not working';
}