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
和MD5
得不到正確的結果?密碼都是123456,但使用不同的加密方法,我無法得到正確的結果。MySQL密碼加密驗證
第一個可以正確輸出「Jim」。但第二個和第三個不能輸出「Ryan」或「Jack」,結果集爲null
。爲什麼?我想知道如何通過加密密碼驗證用戶。
它爲我 – serans
什麼字段類型和長度是 「PWD」? MD5和SHA不是加密,而是散列 - 不同之處在於您可以反向加密,但散列只是一種方式。這不是你的例子的問題,但我想我應該指出。 – Steve
此外,標籤「java」和「web」與問題 – serans