thisgun

mysql 5.7, mysql 8.0 이상 버전 password 대응하기 (PBKDF2)

 아래 글은 사용환경 mysql 5.7 , mysql 8.0 이상 버전을 사용하는 분들에게 해당됩니다.

 

mysql 5.7 이상부터는 

 

최초 설치시 password 설정은 영소문자+영대문자+숫자+특수문자 조합 8 이상 복잡성을 요구하는 설정으로 설치가 됩니다.

 

만약에 위의 요구조건을 충족하지 않거나 비밀번호 8자리 이하를 입력받았다면, 그누보드5에서는 패스워드 hash 값을 빈값으로 받게 됩니다. ( 로그인 불가 현상이 일어납니다. )

 

mysql 5.7에서 암호화 복잡성을 해제 하려면 아래 게시물을 참고하여 mysql 설정값을 변경해서 복잡성을 해제 할수 있습니다.

 

http://algo79.tistory.com/entry/mysql-57-%EC%9D%B4%EC%83%81-%EC%95%94%ED%98%B8-%EB%B3%B5%EC%9E%A1%EC%84%B1-%ED%95%B4%EC%A7%80%ED%95%98%EA%B8%B0

 

mysql 8.0 이상부터는 password 함수가 사라졌으므로, password 함수를 사용할수 없습니다.

 

password 함수를 사용할수 없으므로, 패스워드 hash 값을 빈값으로 받게 됩니다. ( 로그인 불가 현상이 일어납니다. )

 

위의 문제점을 보완하고자 PBKDF2 를 이용한 코드를 작성해 보았습니다.

 

PBKDF2 에 대한것은 PHPSCHOOL 의 곰탱이푸님이 올린 글의 자료를 사용했습니다.

 

https://www.phpschool.com/link/tipntech/78825

 

첨부파일은 그누보드 5.3.1.8 버전 기준으로 수정된 자료이며,

 

적용방법은 5.3.1.8 버전이면 그냥 덮어쓰기 하시면 됩니다.

 

다른 버전을 사용하고 계신분들은 아래 링크 코드를 참고하여 수정해 주세요.

 

https://github.com/gnuboard/gnuboard5/commit/76aabc8f810a58e43473ed3c682dc14b1beaa16e?diff=split

https://github.com/gnuboard/gnuboard5/commit/c8a9576d6320ff78306f0fa771553aa3c3d3b288

 

그누보드 5.4 버전 이상부터는 기본패스워드 저장방식이 PBKDF2 으로 변경 되었기 때문에, 5.4 버전이상을 사용하시는 분들은 이 자료를 적용할 필요가 없습니다.

첨부파일

|

댓글 3개

자세한 설명 잘 봤습니다.
그러면 MySQL 8.0 환경에서 그누보드를 새로 설치하는 경우에는 별 문제가 없겠죠?
감사합니다
이거때문에 고생이였는데 감사합니다 ㅜㅜ
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

+
제목 글쓴이 날짜 조회
7년 전 조회 6,910
7년 전 조회 4,913
7년 전 조회 3,518
7년 전 조회 3,785
7년 전 조회 6,465
7년 전 조회 1.1만
7년 전 조회 7,356
7년 전 조회 4,670
7년 전 조회 4,385
7년 전 조회 4,266
7년 전 조회 5,308
7년 전 조회 5,913
7년 전 조회 4,506
7년 전 조회 9,802
7년 전 조회 1.4만
7년 전 조회 4,763
7년 전 조회 5,820
7년 전 조회 3,411
7년 전 조회 3,774
7년 전 조회 8,656
7년 전 조회 6,648
7년 전 조회 1.2만
7년 전 조회 5,237
7년 전 조회 4,977
7년 전 조회 4,304
7년 전 조회 3,773
7년 전 조회 5,266
7년 전 조회 8,294
7년 전 조회 7,026
7년 전 조회 5,500