쿼리를 이용한 패스워드 암호화 변경 방법은 없나요?
본문
UPDATE `g5_member` SET `mb_password` = 'sha256:12000:xxxxxxxxxxxxx' WHERE `g5_member`.`mb_no` = 1;
위와 같이 해서 Mysql 쿼리로 비번을 변경할 수 있는데요.
혹시 암호 부분에 일반암호(로그인시 입력하는 텍스트암호)를 넣고, 위와 같은 형식의 쿼리를 통해 SHA256 암호화된 비번으로 일괄로 바꿔주는 쿼리문은 작성이나 실행이 불가한가요?
다른 방법들도 많이 알려 주셨는데, 막상 실행하려니 쉽지가 않아서요.
일단 암호화되지 않은 비번을 DB에 넣어놓고, Mysql 쿼리문으로 위와 같이 치환할 수 있는 방법이 있다면
적용이 쉬울 것 같다는 생각이 들어서 질문 드려 봅니다.
답변 3
query문으로만 해결하시고 싶으시다면
"lib/pbkdf2.compat.php"에 있는
create_hash()를 mysql fucntion으로 만드셔서 처리하는 방법이 있습니다.
아니면 config.php에서
define('G5_STRING_ENCRYPT_FUNCTION', 'create_hash');
함수를 md5()나 SHA256() 함수를 지정해서 사용하는 방법이 있습니다.
이미 암호화된 비밀번호를 풀어서 다시 암호화는 안됩니다
회원이 로그인하면 기존 암호화 방식으로 확인해서 일치하면 새로운 암호호 변경하는 방식을 사용해야 합니다
https://www.happyjung.com/lecture/320 를 참고해서 common.lib.php 를 수정하세요
답변을 작성하시기 전에 로그인 해주세요.