Loading...
Loading...
02-reusable-code-java/05-util/PasswordUtil.java
/**
* BCrypt 비밀번호 해싱/검증 유틸리티
* - 비밀번호 암호화 (encode)
* - 비밀번호 일치 검증 (matches)
*
* @source kcsi-smpa-internal
* @extracted 2026-03-08
* @version 1.0.0
*
* @dependencies spring-boot-starter-security (BCryptPasswordEncoder)
*/
package com.example.app.util;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Component;
/**
* 비밀번호 유틸리티
*/
@Component
public class PasswordUtil {
private final BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
/**
* 비밀번호 해시 (BCrypt)
* @param rawPassword 평문 비밀번호
* @return BCrypt 해시값
*/
public String encode(String rawPassword) {
return encoder.encode(rawPassword);
}
/**
* 비밀번호 검증
* @param rawPassword 평문 비밀번호
* @param encodedPassword BCrypt 해시값
* @return 일치 여부
*/
public boolean matches(String rawPassword, String encodedPassword) {
return encoder.matches(rawPassword, encodedPassword);
}
}