JAVA/SPRING

[Spring][Spring Security]BCryptPasswordEncoder

오선지♬ 2022. 1. 3. 12:36
728x90
반응형

HomeController.java

 

 

BCryptPasswordEncoder이란?

- 스프링 시큐리티(Spring Seurity) 프레임워크에서 제공하는 클래스 중 하나로 비밀번호를 암호화하는 데 사용할 수 있는 메서드를 가진 클래스

 

    스프링 시큐리티란?     자바 서버 개발을 위해 필요로 한 인증, 권한 부여 및 기타 보안 기능을 제공하는 프레임워크                                    (클래스와 인터페이스 모임)

 

- PasswordEncoder 인터페이스를 구현한 클래스

 

- BCryptPasswordEncoder는 BCrypt 해싱 함수를 사용해 비밀번호를 인코딩 해주는 메서드와 

사용자에 의해 제출된 비밀번호와 저장소에 저장되어 있는 비밀번호와의 일치여부를 확인해주는 

메서드를 제공

 

- 생성자의 인자 값(verstion, strength, SecureRandom instance)을 통해서 해시의 강도를 조절할 수 있다.

 

- 웹개발을 하면서 사용자의 비밀번호를 데이터 베이스에 저장하게 되는데, 허가 되지 않은 사용자가 접근하지 못하게 기본적인 보안은 되어있겠지만 보안이 뚫리게 되는 상황이 생길 수도 있다. 그렇게 되면 비밀번호가 무방비하게 노출되는 상황이 발생한다. 그런 경우를 대비해서 BCryptPasswordEncoder에서 제공하는 메서드를 이용해 비밀번호를 암호화 함으로써 비밀번호 데이터가 노출되더라도 확인하여 악용하기 어렵게 만들어 줄 수 있다.

 

pom.xml
root-context.xml

 

728x90
반응형