Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- vue.js
- BOJ Social Distancing
- 18877번
- 18877번 Social Distancing
- social distancing
- VUE
- Catholic univ Computer Programming Contest
- spring boot
- 백준 18877번
- 텐서플로맛
- 모바일 버전만들기
- 백준 BOJ
- JavaScript
- java
- Spring Security
- BOJ 18877
- CSS
- BOJ
- Social Distancing II
- 백준 Social Distancing II
- 18881번
- 베리어블 폰트
- 일해라 개발자
- 반응형 웹
- async
- await
- BOJ 18881
- CCPC
- BOJ Social Distancing II
- 백준
Archives
- Today
- Total
나아가는 길에 발자국을 찍어보자
[ Spring Security ] 비밀번호 암호화 PasswordEncoder 본문
반응형
스프링 시큐리티에 관해서 정리를 한것같다고 생각했는데, 비밀번호 암호화 부분이 남아있었다.
이번에 개발하면서 사용한 부분과 내용을 정리해 보고자 한다.
1. Password Encoder
스프링 시큐리티(Spring Security)에서 제공하는 비밀번호 암호화 방법이다. 단방향 암호화로 진행이 되는데 인터페이스와 구현체를 제공한다.
-
인터페이스 구성 요소
public interface PasswordEncoder { // 비밀번호를 단방향 암호화 String encode(CharSequence rawPassword); // 암호화되지 않은 비밀번호(raw-)와 암호화된 비밀번호(encoded-)가 일치하는지 비교 boolean matches(CharSequence rawPassword, String encodedPassword); // 암호화된 비밀번호를 다시 암호화하고자 할 경우 true를 return하게 설정 default boolean upgradeEncoding(String encodedPassword) { return false; }; }
-
사용 하기
/* import 위치 */ import org.springframework.security.crypto.password.PasswordEncoder; /* 인터 페이스 선언 */ @NonNull private PasswordEncoder passwordEncoder; /*암호화 사용*/ this.passwordEncoder.encode(user.getPassword())
암호화를 사용해서 저장하게되면 이렇게 암호화가 진행되어 DB에 저장된다.
-
암호화된 비밀번호 확인하기 => matches() 사용하기.
public boolean confirmUser(String password, String dbPassword) { return passwordEncoder.matches(password, dbPassword); }
이런 식으로 db에 저장된 암호화된 비밀번호와 사용자가 입력한 평문의 비밀번호를 비교하여 동일한지 확인 할 수있다.
반응형
'Spring && Spring boot' 카테고리의 다른 글
[Spring boot] 날짜 타입 JSON 변환 (0) | 2020.09.23 |
---|---|
[Java] 날짜 타입 클래스(LocalDate, LocalTime, LocalDateTime) (0) | 2020.09.23 |
expected at least 1 bean which qualifies as autowire candidate. Dependency annotations:{} 에러 (0) | 2020.08.21 |
expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} 에러 (0) | 2020.08.21 |
Lombok 라이브러리 (0) | 2020.07.27 |
Comments