양방향/단방향 암호화, 일치 여부 비교

박영준·2023년 6월 26일
0

Spring

목록 보기
25/58

1. 양방향 ↔ 단방향

양방향 암호 알고리즘

  • 암호화: 평문 → (암호화 알고리즘) → 암호문

  • 복호화: 암호문 → (암호화 알고리즘) → 평문

단방향 암호 알고리즘

  • 암호화: 평문 → (암호화 알고리즘) → 암호문

  • 복호화: 불가 (암호문 → (암호화 알고리즘) → 평문)

2. 사용법

테스트 코드에서 가져왔다.

@SpringBootTest
public class PasswordEncoderTest {

    // PasswordEncoder 주입 받기
    @Autowired
    PasswordEncoder passwordEncoder;

    @Test
    @DisplayName("수동 등록한 passwordEncoder를 주입 받아와 문자열 암호화")
    void test1() {
        String password = "Robbie's password";

        // 암호화
        String encodePassword = passwordEncoder.encode(password);       // passwordEncoder.encode(암호화할 문자열);
        System.out.println("encodePassword = " + encodePassword);

        String inputPassword = "Robbie";

        // 복호화를 통해, 암호화된 비밀번호와 비교
        boolean matches = passwordEncoder.matches(inputPassword, encodePassword);       // passwordEncoder.matches(입력받은 값, 암호화된 값)
        System.out.println("matches = " + matches); // 암호화할 때 사용된 값과 다른 문자열과 비교했기 때문에 false
    }
}

passwordEncoder.encode(암호화할 문자열); : 해당 문자열을 암호화한다

passwordEncoder.matches(입력받은 값, 암호화된 값); : 두 값을 서로 비교한다

profile
개발자로 거듭나기!

0개의 댓글