MYSQL PASSWORD() 이용하여 암호화 주의 할점 및 TIP

PASSWORD()함수를 이용하여 암호화 복호화를 할 수 있는데, 자꾸 안되서 이것저것 찾아본 결과 여러가지 사실을 알게 되었다. (하루 종일 삽질만 ㅋㅋㅋㅋ괜찮다 ㅋㅋㅋㅋ 다음에 실수 안하면 되니까~!)


우선 주의할 점 및 팁부터 적겠다.
1. password의 사이즈를 정할 때 암호화 했을때의 글자수를 생각해서 넉넉히 잡도록 한다.
예) password varchar(20) 으로 해놓고 암호화 하면 짤린다. 울뻔 했다..

2. MYSQL 4.대와 MYSQL 5.대 주의 할 점~! OLD_PASSWORD(), PASSWORD()
4.1대의 PASSWORD()의 경우 16바이트 해시값을 생성 했었는데 이게 지금와서는 OLD_PASSWORD()로 바뀌었다.
4.1대  기존의 PASSWORD() -> OLD_PASSWORD()함수로

5.대의 경우 41바이트 해시값을 통해 생성하며, PASSWORD()로 사용한다.

etc/my.cnf에
[mysqld]
old_password=??

?? ->0이면 password, old_password각각 함수에 맞게 생성
?? ->1이면 password, old_password 동일하게 16바이트 해쉬값 생성


MYSQL에서 패스워드 암호화 하기 및 검색하기
예제) 
 Insert into `t_memberinfo` (
  `id`,
              `name`,
              `email`,
              `password`,
              `reg_date`
)values ('test','test임','jihye@example.com', PASSWORD('test'), SYSDATE())

예제)
select * from t_memberinfo where password= PASSWORD('test')




댓글

이 블로그의 인기 게시물

블로그 이전 작업 및 블로깅 할 목록 정리

[Spring Framework] Redirect +a 궁금증! ver_0.1

Phoenix 라이브러리 - ERROR 2008 (INT10): Unable to find cached index metadata 발생 시