SHA MySQL将存储值与输入进行比较

时间:2013-09-23 15:15:04

标签: mysql mysqli sha

我的表格中有一个类型为VARCHAR

的密码列

SHA('mypassword')存储在其中。例如a382w8328ur

要登录,我必须将SHA('mypassword')与存储的VARCHAR值进行比较。

我的查询是:

$query = "SELECT * FROM mytable WHERE username='$username' AND password=SHA('$password');";

这转化为:

SELECT * FROM mytable WHERE username='$username' AND password= SHA('mypassword');

SELECT * FROM mytable WHERE username='$username' AND password= a382w8328ur;

但要比较,查询需要是:

SELECT * FROM mytable WHERE username='$username' AND password='a382w8328ur';

即。 ''需要SHA()

如果我使用:

SELECT * FROM mytable WHERE username='$username' AND password= 'SHA('mypassword')';

然后它将SHA('mypassword')视为字符串,并且找不到SHA的值('mypassword')

我的查询应该是什么?

P.S。我知道SHA()不是存储密码的方法,但我只是在学习。

我的插入查询工作正常:

INSERT INTO mytable(username, password) VALUES ('$username',SHA('$password'));";

0 个答案:

没有答案