Fall in IT.

스프링시큐리티를 사용하여 비밀번호 암호화하기 본문

기타

스프링시큐리티를 사용하여 비밀번호 암호화하기

D.Y 2016. 5. 30. 16:06

안녕하세요. 


오늘은 스프링시큐리티(Spring-security)를 사용하여, 비밀번호를 암호화 하는 방법에 대해서 알아보겠습니다.


비밀번호를 암호화하는 암호화 알고리즘의 종류는 다양하지만, 그 중에서도 많이 사용되는 방법으로는 BCrypt와 Pdkdf2가 있습니다.



스프링시큐리티를 사용하여 비밀번호를 암호화하는 방법

  • spring-security 에서 제공하는 비밀번호 암호화 모듈을 사용합니다.
    public interface PasswordEncoder {
    
    String encode(String rawPassword);
    
    boolean matches(String rawPassword, String encodedPassword);
    }
  • BCrypt를 사용하여 암호화하는 방법
    // Create an encoder with strength 16
    BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(16);
    String result = encoder.encode("myPassword");
    assertTrue(encoder.matches("myPassword", result));
  • Pbkdf2를 사용하여 암호화하는 방법
    // Create an encoder with all the defaults
    Pbkdf2PasswordEncoder encoder = new Pbkdf2PasswordEncoder();
    String result = encoder.encode("myPassword");
    assertTrue(encoder.matches("myPassword", result));
※ 위와 같이 암호화를 하게 되면, salt값을 랜덤하게 만들어줘서 같은 비밀번호를 사용하더라도 다른 값으로 데이터베이스에 저장할수있습니다.



참조


Comments