Study/Spring framework

mysql password() 주의사항

nobang 2016. 6. 1. 23:38
728x90

mysql에는 문자열을 암호화하는 함수가 있다. Password() 함수인데..


insert into member (id, pw) values ( 'abc', password('aaa'));

하고 commit을 확실히 하고


select *

from member

where pw = password('aaa')

를 했을 때 결과를 못 가져오는 경우가 발생한다.


가장 먼저 확인 해 볼 것은.... pw칼럼의 길이이다.

password('aaa')를 했을 때 길이보다 컬럼의 길이가 작으면


insert 할 때 값이 잘린다.

따라서 잘린 값과 password()함수의 결과값이 결코 같을 수 없다.


넉넉하게 pw칼럼을 vachar 50으로 주던가

긴 문장을 password()함수에 넣어서 길이를 보던가


조회 전 pw의 길이를 체크하던가 해야한다.


간만에 또 만졌더니... 며칠을 소비했던가 ㅠ.ㅠ

728x90