시큐리티 암호화
- 사용자 인증(로그인) 시에 아이디와 비밀번호를 검증하는데
이때, 비밀번호는 단방향 해시 암호화를 진행하여 회원가입시에 저장되어 있는 비밀번호와 대조
- 로그인 시 해시화를 하여 대조하기 때문에
회원가입 시에도 비밀번호 항목에 대해 암호화를 진행해야 함
- 회원 가입 및 검증에 암호화를 사용
- 스프링 시큐리티는 이러한 암호화를 위해 BCrypt Password Encoder를 제공하고 권장함
해당 객체를 return하는 메서드를 만들고 @Bean으로 등록하여 사용
단방향 해시 암호화
종류 | ||
양방향 |
|
|
단방향 |
|
다시 해독이 불가능 |
패스워드 암호화 관련 security config 클래스 설정
패스워드를 암호화 시켜주는 함수
package com.example.test.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.web.SecurityFilterChain;
@Configuration
@EnableWebSecurity
public class SecurityConfig {
// 1.암호화 메서드 등록: 회원 가입 시, 호출하여 암호화 사용 가능
@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder() {
return new BCryptPasswordEncoder();
}
}
'SPRINGBOOT' 카테고리의 다른 글
[spring security] 6. 회원가입 로직 (0) | 2024.01.10 |
---|---|
[spring security] 5. DB 연결하기 (0) | 2024.01.10 |
[spring security] 2. 인증과 인가, securityConfig 설정 (1) | 2024.01.10 |
[SpringBoot] DAO와 Mapper 인터페이스의 차이? (0) | 2024.01.10 |
[spring security] 1. 스프링 시큐리티의 동작 원리 (0) | 2024.01.10 |