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
입니다. 왜? 암호화 된 비밀번호로 사용자를 확인하는 방법을 알고 싶습니다.
그것은 "PWD"어떤 필드 유형 및 길이 나 – serans
작동? MD5와 SHA는 암호화가 아니라 해시입니다. 차이점은 암호화를 역으로 할 수 있지만 해시는 한 가지 방법 일뿐입니다. 이것은 당신의 예제에 문제가되지 않지만 나는 그것을 지적해야한다고 생각했습니다. – Steve
또한 "java"및 "web"태그는 질문과 관련이 없습니다. – serans