最近、http_get メソッドを使用して統計を更新するゲームのログインと登録を処理するスクリプトを作成しました。すべてを正常に作成できましたが、問題があります。ユーザーが登録すると、PHP スクリプトが生成した別の md5 文字列が挿入されるため、パスワードを比較できません。
これは、md5 文字列をデータベースに挿入する方法です。
$pw = md5($password);
$insert = mysqli_query($connect, "INSERT INTO Accounts (username, password, email,reg_ip, wins, looses, experience) VALUES ('$username', '$pw', '$email', '$reg_ip', '0','0', '0')");
if($insert) {
echo "account successfully created";
}
else {
echo "error";
}
そして、これは私がパスワードをチェックする方法です:
if($p['password'] == md5($password)) {
echo "login was successful!";
}
else {
echo "incorrect password";
}
これは、ユーザー登録時にデータベースにある md5 文字列です: (暗号化されていない文字列: pocakaj123)
54e8850ba5eca655854ddf1b503943
これは I のときに生成される文字列ですecho md5($password)
。
54e8850ba5eca655854ddf1b50394348