하늘느낌2
275
2019-01-04 17:58:37
3
602

스프링 부트 비밀번호 암호화 문의드립니다.


안녕하세요.

스프링 부트 비밀번호 암호화 하는 작업에서 막혀 이렇게 문의를 드립니다.


파일은 secConfig 파일에 아래와 같이 선언을 했습니다.

@Bean

public PasswordEncoder passwordEncoder() {

return new BCryptPasswordEncoder();

}


로그인 컨트롤러에다

@Autowired

private PasswordEncoder passwordEncoder;


String password = cu.toStr(prmt.get("userPswd"));

        logger.debug("11>>"+ passwordEncoder.encode(cu.toStr(password)));

        logger.debug("22>>"+cu.toStr(vo.get("USER_PSWD")));

        

        if(!passwordEncoder.matches(cu.toStr(vo.get("USER_PSWD")), passwordEncoder.encode(cu.toStr(password)))) {

        //if(!cu.toStr(vo.get("USER_PSWD")).equals(passwordEncoder.encode(cu.toStr(password)))) {

        mav.addObject("message", "패스워드를 확인 하시기 바랍니다.");

        mav.addObject("prmt", prmt);

        mav.setViewName("login/login");

            return mav;

        }


그리고 암호화 된 데이터를 DB에 저장을 하고 로그인 시도를 하게 되면 로그인이 되질 않네요.

확인을 해보니 비밀번호 암호화 값이 매번 변경이 되더라구요.

문서를 찾아봐도 당췌 이해가 가질 않아서 이렇게 문의를 드립니다.

다른건 설정이 다 끝났는데 암호화 작업에서 진행이 되질 않네요.

많은 조언 부탁드립니다.

감사합니다.


0
  • 답변 3

  • 유리세계
    3k
    2019-01-04 18:08:13 작성 2019-01-04 18:08:58 수정됨

    매치함수는 DB에 저장된 '암호화된 비밀번호'와 입력된 '평문의 비밀번호'를

    비교해서 결과값을 true/false로 반환하는걸로 알고 있습니다.


    함수 설명을 자세히 읽어보세요

  • 하늘느낌2
    275
    2019-01-04 18:25:37

    아~ 감사합니다.

    해결 되었습니다.

  • Mambo
    7k
    2019-01-04 18:57:45

    다른게 정상입니다.

    내부적으로 해시를 생성합니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.