1. PasswordEncoder 계약 1) 정의 계약을 구현해 스프링 시큐리티에 사용자 암호를 검증하는 방법을 알려줄 수 있음 인증 프로세스에서 암호가 유효한지를 확인 2) 인터페이스 코드로 계약 구현 public interface PasswordEncoder { String encode(CharSequence rawPassword); boolean matches(CharSequence rawPassword, String encodedPassword); default boolean upgradeEncoding(String encodedPassword){ return false; } } encode 및 matches 메서드는 계약의 책임을 정의 encode 주어진 문자열을 변환해 반환 암호화 수행 mat..