JWT 디코더
JWT(JSON Web Token)를 디코딩하여 Header, Payload, Signature를 확인합니다. 토큰의 만료 시간과 클레임 정보를 쉽게 확인할 수 있습니다.
토큰 구조
Header
Payload
Signature
HMAC 알고리즘(HS256, HS384, HS512)만 지원됩니다.
클레임 상세
표준 클레임 (Registered Claims)
iss
-
발급자 (Issuer)
sub
-
주제 (Subject)
aud
-
대상 (Audience)
exp
-
만료 시간 (Expiration)
nbf
-
유효 시작 시간 (Not Before)
iat
-
발급 시간 (Issued At)
jti
-
토큰 ID (JWT ID)
JWT(JSON Web Token)란?
JWT는 JSON 형식의 데이터를 안전하게 전송하기 위한 개방형 표준(RFC 7519)입니다. 주로 웹 애플리케이션에서 사용자 인증과 정보 교환에 사용됩니다. JWT는 Header(헤더), Payload(페이로드), Signature(서명) 세 부분으로 구성되며, 각 부분은 점(.)으로 구분됩니다. 서버는 비밀키를 사용하여 서명을 검증함으로써 토큰의 무결성을 확인할 수 있습니다.
사용 방법
- JWT 토큰을 입력창에 붙여넣습니다. (붙여넣기 시 자동으로 디코딩됩니다)
- '디코딩' 버튼을 클릭하면 Header, Payload, Signature가 분리되어 표시됩니다.
- 토큰 상태(유효/만료)와 남은 시간을 확인할 수 있습니다.
- 클레임 상세 섹션에서 각 클레임의 의미와 값을 확인합니다.
- 서명을 검증하려면 비밀키를 입력하고 '검증' 버튼을 클릭하세요.
자주 묻는 질문
Q: JWT를 디코딩하면 내용이 노출되는데 안전한가요?
JWT의 Header와 Payload는 Base64로 인코딩되어 있어 누구나 디코딩할 수 있습니다. 따라서 민감한 정보(비밀번호 등)는 JWT에 포함하면 안 됩니다. JWT의 보안은 서명 검증에 있으며, 서명이 유효해야만 토큰을 신뢰할 수 있습니다.
Q: exp, iat, nbf 클레임은 무엇인가요?
exp(Expiration)는 토큰 만료 시간, iat(Issued At)는 토큰 발급 시간, nbf(Not Before)는 토큰이 유효해지는 시작 시간입니다. 모두 Unix Timestamp(초 단위)로 표현됩니다.
Q: RS256과 HS256의 차이점은?
HS256은 대칭키 알고리즘으로 같은 비밀키로 서명과 검증을 합니다. RS256은 비대칭키 알고리즘으로 개인키로 서명하고 공개키로 검증합니다. 이 도구는 HMAC(HS256/384/512) 알고리즘만 검증을 지원합니다.