본문 바로가기
SPRINGBOOT

[spring security] 3. springconfig 설정 : BCrype 암호화 메서드

by 정공자씨 2024. 1. 10.

 

시큐리티 암호화

- 사용자 인증(로그인) 시에 아이디와 비밀번호를 검증하는데
  이때, 비밀번호는 단방향 해시 암호화를 진행하여 회원가입시에 저장되어 있는 비밀번호와 대조

-  로그인 시 해시화를 하여 대조하기 때문에
   회원가입 시에도 비밀번호 항목에 대해 암호화를 진행해야 함

- 회원 가입 및 검증에 암호화를 사용

- 스프링 시큐리티는 이러한 암호화를 위해 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();
  }

}