// 생성자에서 @Value 주입
// properties에서 해쉬 시크릿 값 가져옴.
public TokenHashProvider(@Value("${hasher.secret}") String hashSecret) {
// HmacUtils 객체는 한번만 생성해서 재사용 (매번 new 하면 불필요한 객체 생성됨)
this.hmacUtils = new HmacUtils(HmacAlgorithms.HMAC_SHA_256, hashSecret);
}
설명
@Value("${hasher.secret}") → 외부 프로퍼티에서 해시 시크릿 주입hashRefreshToken) // HMAC_SHA_256 알고리즘
// hashSecret을 키로 사용
// refreshToken을 입력값으로 HMAC 계산
// 결과를 hex 문자열로 반환
public String hashRefreshToken(String refreshToken) {
return hmacUtils.hmacHex(refreshToken);
}
설명