테스트 사이트 - 개발 중인 베타 버전입니다

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

악메리카노 3년 전 조회 2,349

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

 

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

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

sha256:12000:{해쉬코드}

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

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

 

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

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 7개

코브렌치

https://sir.kr/bbs/profile.php?mb_id=bdt01137" onclick="return false;" rel="nofollow" target="_blank" title="악메리카노 자기소개">악메리카노 님 혹시 답변 찾으셨나요 ??? 저도 같은 문제가 있어서요 ;;;;

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

3년 전
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

3년 전

자바 Bcrypt 사용방법

</p>

<p>// 사용자의 비밀번호</p>

<p>String password = "!@#$password1234";</p>

<p> </p>

<p>// 위 비밀번호의 BCrypt 알고리즘 해쉬 생성</p>

<p>// passwordHashed 변수는 실제 데이터베이스에 저장될 60바이트의 문자열이 된다. String passwordHashed = BCrypt.hashpw(password, BCrypt.gensalt());</p>

<p> </p>

<p>// 위 문장은 아래와 같다. 숫자가 높아질수록 해쉬를 생성하고 검증하는 시간은 느려진다.</p>

<p>// 즉, 보안이 우수해진다. 하지만 그만큼 응답 시간이 느려지기 때문에 적절한 숫자를 선정해야 한다. 기본값은 10이다.</p>

<p>String passwordHashed = BCrypt.hashpw(password, BCrypt.gensalt(10));</p>

<p> </p>

<p>// 생성된 해쉬를 원래 비밀번호로 검증한다. 맞을 경우 true를 반환한다.</p>

<p>// 주로 회원 로그인 로직에서 사용된다.</p>

<p>boolean isValidPassword = BCrypt.checkpw(password, passwordHashed);</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

나리스
3년 전
저분은 sha256이라네요

댓글을 작성하려면 로그인이 필요합니다.

메리7
3년 전

컬럼에 적혀있는거대로 PHP hash 함수테스트 해보세요 그새 salt 값 달라졌을 수도있고..

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

메리7
3년 전

스프링 PasswordEncoder 에서 sha256으로 설정한거랑 다르게나오나요?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

"lib/pbkdf2.compat.php"

참고하세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

3년 전

알려드리면 나중에 개발하신거 공유해주시나요?ㅋ

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인