JWT 인코더/디코더
JWT(JSON Web Token) 토큰을 생성(인코딩)하거나 기존 토큰의 구조를 분석(디코딩)합니다. HMAC(HS256/HS384/HS512) 서명을 지원합니다.
토큰 인코딩
Header (JSON)
Payload (JSON)
토큰 디코딩
Header 정보
JWT를 입력하고 디코딩 버튼을 클릭하면 Header 정보가 표시됩니다.
Payload 정보
JWT를 입력하고 디코딩 버튼을 클릭하면 Payload 정보가 표시됩니다.
표준 클레임 (Registered Claims)
| 클레임 | 이름 | 설명 |
|---|---|---|
iss | Issuer | 토큰 발급자를 식별합니다. |
sub | Subject | 토큰의 주체(사용자 등)를 식별합니다. |
aud | Audience | 토큰의 수신 대상을 식별합니다. |
exp | Expiration Time | 토큰의 만료 시간입니다 (Unix timestamp). |
nbf | Not Before | 이 시간 이전에는 토큰이 유효하지 않습니다 (Unix timestamp). |
iat | Issued At | 토큰이 발급된 시간입니다 (Unix timestamp). |
jti | JWT ID | 토큰의 고유 식별자입니다. |
JWT란
JWT(JSON Web Token)는 RFC 7519에 정의된 개방형 표준으로, 두 당사자 간에 JSON 객체로 안전하게 정보를 전달하기 위한 방법입니다.
JWT 구조
JWT는 점(.)으로 구분된 세 부분으로 구성됩니다.
- Header: 토큰 유형(typ)과 서명 알고리즘(alg)을 포함합니다. Base64URL로 인코딩됩니다.
- Payload: 클레임(Claims)이라 부르는 데이터를 포함합니다. Base64URL로 인코딩됩니다.
- Signature: Header와 Payload를 지정된 알고리즘으로 서명한 값입니다.
주요 알고리즘
- HS256: HMAC + SHA-256 (대칭키)
- RS256: RSA + SHA-256 (비대칭키)
- ES256: ECDSA + P-256 + SHA-256 (비대칭키)
- EdDSA: Edwards-curve DSA (비대칭키)
보안 주의사항
- Payload는 암호화(Encryption)되지 않으므로 민감한 정보를 포함하지 않아야 합니다.
- 이 도구는 클라이언트 측에서만 동작하며, 서명 검증(Signature Verification)은 수행하지 않습니다.
- 실제 서비스에서는 반드시 서버 측에서 서명을 검증해야 합니다.