mysql5 에 있던 41바이트 암호를 mysql4 에서 인식하게 하기
아래 url 질문을 보고 저도 한참 생각해보다가 나름대로 찾은 방법입니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=170703&page=4
문제는 기존에 호스팅 회사에서는 41 byte 패스워드를 사용하는 mysql5 를 사용하고 있다가
소위 old_password 함수 격인 mysql4 로 넘어갔을 때인데
기존 mysql5 에서 저장되었던 41바이트 암호를 mysql4 에서 어떻게 인식할 수 있게 하느냐 입니다.
우선 mysql5 에서 password 함수를 사용한 결과
mysql> select password('1111');
+-----------------------------------------------+
| password('1111') |
+-----------------------------------------------+
| *89C6B530AA78695E257E55D63C00A6EC9AD3E977 |
+-----------------------------------------------+
1 row in set (0.02 sec)
mysql4 에서 password 함수 사용 결과
mysql> select password('1111');
+------------------+
| password('1111') |
+------------------+
| 45271aba0b765d95 |
+------------------+
1 row in set (0.00 sec)
아래는 mysql 의 password 함수 대신 php 코드만으로 mysql5 password 함수를 구현한것입니다.
<?
print mysql5_password('1111');
function mysql5_password($in) {
$passwd = sha1($in,true);
$passwd = sha1($passwd);
return "*".strtoupper($passwd);
}
?>
실행 결과
chanchan-ui-MacBook:~ chanchan$ php passwd_test.php
*89C6B530AA78695E257E55D63C00A6EC9AD3E977
위의 함수를 적절한 곳( 가령 인증 부분 ) 에 응용한다면 mysql4 기반에서도 mysql5 의 41바이트 패스워드를 사용할 수 있을것 같습니다.
댓글 4개
대단한 아이디어입니다.
검색 해보길 참 잘 한 것 같습니다~
게시판 목록
그누4 팁자료실
나누면 즐거움이 커집니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 3169 | 12년 전 | 11457 | ||
| 3168 | 12년 전 | 8371 | ||
| 3167 | 12년 전 | 9526 | ||
| 3166 | 12년 전 | 8629 | ||
| 3165 | 12년 전 | 3858 | ||
| 3164 | 12년 전 | 5782 | ||
| 3163 | 12년 전 | 5487 | ||
| 3162 | 12년 전 | 7514 | ||
| 3161 |
다케미카코
|
12년 전 | 5660 | |
| 3160 | 12년 전 | 5983 | ||
| 3159 | 12년 전 | 5825 | ||
| 3158 | 12년 전 | 4217 | ||
| 3157 |
izabella
|
12년 전 | 8335 | |
| 3156 | 12년 전 | 6301 | ||
| 3155 | 12년 전 | 3783 | ||
| 3154 | 12년 전 | 8918 | ||
| 3153 | 12년 전 | 3602 | ||
| 3152 |
다케미카코
|
12년 전 | 6567 | |
| 3151 | 12년 전 | 5437 | ||
| 3150 |
|
12년 전 | 4807 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기