-
[Spring Security][DB][암호화] 비밀번호 암호화하기Spring-diary/WEB 2020. 2. 25. 10:52
PasswordEncoder
- password를 암호화하기 위한 interface이다.
- 날 것 그대로 사용하지 않고 보통 BCryptPasswordEncoder를 사용한다.
절차
- PasswordEncoder interface를 구현할 클래스를 만든다.
- Password를 encoding하는 method와 encoding된 Password와 입려한 Password가 일치하는지 확인하는 Method를
Override해준다.
- security xml파일에서 bean을 만들어준다.
- 비밀번호 검증 방식으로 방금 등록한 passwordEncoder를 설정한다.
BCryptPasswordEncoder
- 비밀번호를 DB에 들어가는 데이터 조차 암호화하기 위해 BCryptPasswordEncoder 를 사용한다.
- PasswordEncoder의 자식 클래스이다.
절차
- 보안 xml에 Bean 등록 -기존에 있던 CustomPasswordEncoder는 삭제-
- authentication-manager 설정 안에 password-encoder 방식 등록
- Security 관련 Controller에 BCryptPasswordEncoder 멤버필드 설정
예제)
- passwordEncoder interface를 멤버필드로 선언하고 BCRyptPasswordEncoder로 초기화해 준다.
- 테이블에 계정과 비밀번호를 넣는 과정에서 pwd를 PasswordEncoder를 통해 암호화 한 후 넣어준다.
'Spring-diary > WEB' 카테고리의 다른 글
Spring Security+MyBatis로 Spring 게시판 만들기 1 (0) 2020.03.01 [Spring Security][DB]CSRF (0) 2020.02.25 [Spring Security][DB][권한부여] <security:jdbc-user-service> (0) 2020.02.25 [Spring Security][DB] DB와 연동해 로그인 하기 (0) 2020.02.25 Spring Security (0) 2020.02.24