· 1분 읽기
Last updated on

스프링 시큐리티 - SESSION (5) 비밀번호 암호화


Spring Security

목록 보기숨기기8/11
  1. Spring Security 같은 보안 FrameWork를 사용해야 하는 이유
  2. Spring Security 의 서블릿과 필터
  3. Spring Security 의 내부 동작 과정
  4. 스프링 시큐리티 - SESSION (1) 간단 동작 원리
  5. 스프링 시큐리티 - SESSION (2) 프로젝트 생성
  6. 스프링 시큐리티 - SESSION (3) 인가 작업
  7. 스프링 시큐리티 - SESSION (4) 커스텀 로그인
  8. 스프링 시큐리티 - SESSION (5) 비밀번호 암호화
  9. 스프링 시큐리티 - SESSION (6) DB연동과 회원가입
  10. 스프링 시큐리티 - SESSION (7) DB 기반 로그인 검증
  11. Spring OAuth2 JWT방식(1) - 개요

스프링 시큐리티는 사용자 인증(로그인) 시 비밀번호에 대해 단방향 해시 암호화를 진행하여 저장되어있는 비밀번호와 대조한다.

따라서 회원가입시 비밀번호 항목에 대해서 암호화를 진행해야 한다.

단방향 / 양방향 암호화란? 

양방향 

 - 대칭키

 - 비대칭키

양방향 암호화는 입력된 데이터를 암호화해 출력값을 만드는 거랑 그 반대로 출력값을 다시 원본 데이터로 바꾸는 걸 할 수 있는 암호화 방식이다. 대표적으로 대칭키 알고리즘과 비대칭키 알고리즘이 있다.

단방향

 - 해시

단방향 암호화는 입력된 데이터를 암호화해서 출력값(해시)를 만든다. 암호화된 데이터로부터는 원본 데이터를 찾을 수 없다고 한다. 

주로 사용자의 비밀번호를 안전하게 저장하는 데 사용한다.


스프링 시큐리티는 암호화를 위해 BCrypt Password Encoder를 제공하고 권장한다. 따라서 해당 클래스를 return하는 메소드들을 만들어 @Bean으로 등록하여 사용하면 된다.

우리는 기존에 있는 SecurityConfig에 빈으로 등록해보자.

댓글

댓글을 불러오는 중…