로그인을 진행하면 ID와 Password를 시큐리티에서 받아 검증을 하는데 이때 비밀번호는 단방향 해시 암호화를 진행하여 저장되어 있는 비밀번호와 대조한다.
→ 회원가입시 비밀번호에 대해서 암호화를 진행하여 저장해야 한다.
Spring Security 프레임워크는 암호화를 위해 Bcrypt Password Encoder 클래스를 제공한다.
- Bcrypt 해싱함수를 사용해서 Password를 인코딩해주는 메서드와 사용자의 의해 제출된 Password와 저장소에 저장되어 있는 Password의 일치 여부를 확인해주는 메서드를 제공한다.
- Bcrypt Password Encoder를 Return 하는 메서드를 만들어 @Bean 으로 등록하여 사용하면 된다.
@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder() {
return new BCryptPasswordEncoder(); // BCryptPasswordEncoder return
}