
@Configuration
public class PasswordConfig {
@Bean // bean 수동등록
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}
@SpringBootTest
public class PasswordEncoderTest {
@Autowired
PasswordEncoder passwordEncoder;
@Test
@DisplayName("수동 등록한 passwordEncoder를 주입 받아와 문자열 암호화")
void test1() {
String password = "Robbie's password";
// 암호화
String encodePassword = passwordEncoder.encode(password);
System.out.println("encodePassword = " + encodePassword);
String inputPassword = "Robbie's password";
// 복호화를 통해 암호화된 비밀번호와 비교
boolean matches = passwordEncoder.matches(inputPassword, encodePassword);
System.out.println("matches = " + matches);
}
}

정상 작동하는 것을 확인
passwordEncoder.matches(inputPassword, encodePassword)(암호화 안된 문자열, 암호화된 문자열)을 matches를 통해 true false로 반환할 수 있다.