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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
그누보드 비밀번호 암호화 방식을 스프링에서 어떻게 적용해야 하나요??

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);
답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색

회원로그인

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