답변 3개
md5로 암호화된 패스워드를 sql_password를 바꾸는 방법은 없다고 생각이 됩니다.
보통 질문과 같은 상황에 처해 있으면 아래와 같이 처리합니다.
방법 1.
md5 로 패스워드인 회원이 로그인 시도시, 양해를 구하고 패스워드 찾기를 하라고 합니다.
( 패스워드 찾기 하면, 메일 인증 후 패스워드를 리셋 후 입력할 수 있습니다. )
방법 2.
http://stackoverflow.com/questions/14300696/check-if-string-is-an-md5-hash">http://stackoverflow.com/questions/14300696/check-if-string-is-an-md5-hash
위의 링크는 php 에서 md5 인지 검사하는 방법에 대해 나와 있는 url 입니다.
md5 패스워드를 가지고 있는 회원도 로그인 하게 할려면
if ( 로그인 실패시 ){
if ( 해당 회원의 db에 저장된 패스워드가 md5 이면 ) {
if ( md5( $_POST['password'] ) === 해당 회원의 db에 저장된 패스워드 ) {
맞으니까
update 테이블 set password = PASSWORD($_POST['password']) where 회원아이디 = '해당회원'
그 다음에 로그인 처리
}
}
}
이런식으로 프로그램 처리 하시면 됩니다.
잘 모르시겠으면 제작의뢰 하세요.
댓글을 작성하려면 로그인이 필요합니다.
강제로 변경하려고 애쓰는것보다
db에 password 컬럼을 하나더 두는것도 방법입니다.
로그인시에 md5로 저장된값을 비교하는 시점에
1. 변환할 text password 를 변수에서 관리하고
2. md5로 저장된 password와 동일한경우
3. sql_password 로 해당 비번을 update 해서 저장합니다.
댓글을 작성하려면 로그인이 필요합니다.
질문을 보고 저도 한번 궁금해서 찾아봤는데요.
결론은 거의 불가능하다고 보시면 되겠습니다.
MD5 hash(인코딩) : http://www.miraclesalad.com/webtools/md5.php">http://www.miraclesalad.com/webtools/md5.php
MD5 hash Decode : http://www.md5online.org/">http://www.md5online.org/
5글자 숫자+문자+특수문자 넣어서 테스트 해봤는데요.
MD5 Decode는 현실적으로 불가능하다고 알고 있습니다.
몇몇 사이트를 뒤져봤는데 DB에 저장된 인코딩 키와 비교하여 보여주는 방식이네요.
수고하세요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인