[Java - Spring Security6] PasswordEncoder와 BCryptPasswordEncoder, 그 이외의 암호화 클래스들
·
Spring/Security6
목차 1. 암호화 표준 2. 비밀번호 검증 순간의 코드 3. 해싱과 PasswordEncoder로 비밀번호가 인증되는 과정 4. PasswordEncoder의 메서드들 5. PasswordEncoder의 다양한 Encoder들 6. BCryptPasswordEncoder적용하기 1. 암호화 표준 암호화 표준 - 어느 것이 적합할까? Encoding 데이터를 한 형식에서 다른 형식으로 변환 어떠한 기밀성도 포함하지 않는다. 누구든지 디코딩 가능, 완전 가역적 비밀번호 관리에는 적합하지 않다. 예시 ) ASCII, BASE64, UNICODE Encryption 기밀성을 보장 데이터를 암호화하려고 할 때 특정 알고리즘을 따르고 비밀 키를 제공한다. 복호화하는데 필요한 것이 비밀 키다. 또한 동일한 알고리즘이..
[Java - Spring Security6] Config파일 해석 및 직접 FilterChain만들기
·
Spring/Security6
우선 내 컨트롤러 다이어그램을 먼저 보여주자면! Controller Diagram 모든 컨트롤러는 REST API로 호출하는 방식이며 Spring Security 프레임워크가 적용되어있다. 모든 API호출 경로는 Security에서 인증 및 인가를 받아야 정상적인 응답을 받을 수 있다. Security는 Filter를 통해 코드가 구현되어 있다. 위 컨트롤러의 경로로 요청을 보낼 경우 나타나는 Security의 기본 창 아이디와 비밀번호를 자격 인증을 요구하고 있다. 위와 같이 이루어지는 Security 6에서 제공하는 기본 샘플을 먼저 살펴보자. 이 중 1번의 과정이 아래의 코드에 구현되어 있다. @Configuration(proxyBeanMethods = false) @ConditionalOnDefa..