그누보드 비밀번호 암호화 방식을 스프링에서 어떻게 적용해야 하나요??

그누보드 비밀번호 암호화 방식을 스프링에서 어떻게 적용해야 하나요??

QA

그누보드 비밀번호 암호화 방식을 스프링에서 어떻게 적용해야 하나요??

본문

PHP는 잘 모르는 JAVA개발자입니다..

 

그누보드5로 만들어진 웹을 스프링으로 변환하는 작업을 하고 있습니다.

DB의 계정관련 테이블에서 비밀번호 컬럼을 확인해보니

sha256:12000:{해쉬코드}

이러한 패턴으로 DB에 입력이 되어있어서 혹시 스프링 시큐리티로 호환 가능한 지 테스트해봤으나

스프링 시큐리티의 PasswordEncoder()와 호환이 되지 않습니다;;

 

어떻게 해야 스프링에서 호환할 수 있을까요?? ㅠ

 

 

이 질문에 댓글 쓰기 :

답변 7

자바 Bcrypt 사용방법


// 사용자의 비밀번호
String password = "!@#$password1234";
 
// 위 비밀번호의 BCrypt 알고리즘 해쉬 생성
// passwordHashed 변수는 실제 데이터베이스에 저장될 60바이트의 문자열이 된다. String passwordHashed = BCrypt.hashpw(password, BCrypt.gensalt());
 
// 위 문장은 아래와 같다. 숫자가 높아질수록 해쉬를 생성하고 검증하는 시간은 느려진다.
// 즉, 보안이 우수해진다. 하지만 그만큼 응답 시간이 느려지기 때문에 적절한 숫자를 선정해야 한다. 기본값은 10이다.
String passwordHashed = BCrypt.hashpw(password, BCrypt.gensalt(10));
 
// 생성된 해쉬를 원래 비밀번호로 검증한다. 맞을 경우 true를 반환한다.
// 주로 회원 로그인 로직에서 사용된다.
boolean isValidPassword = BCrypt.checkpw(password, passwordHashed);
답변을 작성하시기 전에 로그인 해주세요.
전체 1

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT