私は1時間探し回っていますが、これを機能させることができません。
user
と呼ばれる2列のテーブルがありusername varchar(64)
ますpassword binary(20)
。これを迅速かつ汚いものにしたいので、SHA1暗号化を使用しています。
mysql> describe user;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| username | varchar(64) | NO | PRI | NULL | |
| password | binary(20) | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
ユーザーのパスワードを認証したいとき、ちょっとしたトラブルに遭遇しています。結果のパスワードがバイナリで取得されません。助言がありますか?ありがとう。
$username = mysql_real_escape_string($_POST['username']);
$password = sha1(mysql_real_escape_string($_POST['password']));
$binPass = pack("H*", $password);
$query = "SELECT * FROM `user` WHERE `username` = '$username' AND `password` = $binPass;";