스프링 시큐리티에서 지원하는 비밀번호 암호화 방식이 궁금해서 PasswordEncoder 인터페이스를 정리해보기로 했다.

PasswordEncoder에는 encode()와 mathes() 두 개의 메소드가 존재한다.
# salt 임의의 문자열로 소금친다는 의미
encode가 매번 다른 결과값을 반환하기 때문에 equals로 값을 비교할 수 없다!
제공되는 maches 함수를 이용해야 한다.
그렇다면 matches()는 매번 다르게 인코딩되는 암호와 평문을 어떻게 비교할까?
salt값을 특정 방식으로 뽑아낸다음 남은 값을 비교하는 것 같긴한데
이게 너무 궁금해서 구글링을 엄청 했지만 속 시원한 글을 찾지 못했다.
-- 이 부분은 조금 더 공부해서 추가 작성 예정