insert into test(username,pwd) values('Jim',ENCODE('123456','Jim'));
select username from test where username='Jim' and pwd=ENCODE('123456','Jim')
insert into test(username,pwd) values('Ryan',SHA('123456'))
select username from test where username='Ryan' and pwd=SHA('123456')
insert into test(username,pwd) values('Jack',MD5('123456'))
select username from test where username='Jack' and pwd=MD5('123456')
SHA
andを使用しても正しい結果が得られないのはなぜMD5
ですか? パスワードはどちらも 123456 ですが、暗号化方法が異なると正しい結果が得られません。
1 つ目は、「Jim」を正しく出力できます。しかし、2 番目と 3 番目のものは "Ryan" または "Jack" を出力できず、結果セットはnull
. なんで?暗号化されたパスワードでユーザーを検証する方法を知りたいです。