JWT Decoder / Encoder / JWT 디코더·인코더
이 도구에 대하여
JWT(JSON Web Token)의 헤더와 페이로드를 Base64URL 형식에서 복원해 내용을 확인할 수 있다. HS/RS/PS/ES/EdDSA 서명을 브라우저 안에서 검증하고, JSON을 편집해 새 토큰을 만드는 것까지 원스톱으로 처리한다. 모든 처리는 브라우저 안에서 이루어지며 데이터는 전송되지 않는다.
토큰 디코드
Ctrl+Enter / ⏎ 를 누르면 즉시 디코드한다.
JWT를 입력해 디코드한다.
헤더
{}
페이로드
{}
서명
—
서명 검증
JWS 서명과 대표적인 클레임(exp / nbf / iat / iss / sub / aud)을 확인할 수 있다.
alg: —
서명 대상: —
UTC: —
Local: —
키 종류
16진 입력은 0x
로 시작하거나 공백으로 구분된 HEX를 사용한다.
클레임 검증
미검증
JWT를 디코드하면 검증할 수 있다.
인코딩 / 서명 생성
JSON을 편집해 새로운 JWS/JWT를 생성한다.
비밀키 취급에 주의해 달라(붙여 넣은 내용은 저장되지 않는다).
키 입력 방법
편의 기능
미생성
JSON을 입력하고 알고리즘을 선택해 달라.
사용 방법
- JWT 토큰을 붙여 넣고디코드하면 헤더·페이로드·서명이 정렬되어 표시된다.
- 공개키/공유 키를 지정해서명 검증을 실행하고, 필요에 따라 exp/nbf/iat/iss/sub/aud를 대조한다. kid로 키를 바꾸는 운용은 수동으로 처리해 달라.
- 헤더와 페이로드를 편집하고 알고리즘과 키를 선택해토큰을 생성한다. 생성 후에는 “디코드 칸으로 보내기”로 즉시 자체 검증할 수 있다.
보충
- 지원 알고리즘: HS256/384/512, RS256/384/512, PS256/384/512(PSS의 saltLength는 해시 길이), ES256/384/512(DER⇄Raw 자동 변환), EdDSA(Ed25519 지원).
- Base64URL은
+
를-
,/
를_
로 바꾸고 끝의=
를 생략하는 형식이다. 디코더는 여분의 줄바꿈과 공백을 무시한다. - 브라우저의 SubtleCrypto가 지원하지 않는 알고리즘은 자동으로 경고한다. EdDSA는 지원 브라우저에서만 사용할 수 있다.
- exp/nbf/iat는 UNIX 초로 비교하며, aud가 배열이면 하나 이상 일치하면 성공이다.
주의 사항
- 비밀키를 붙여 넣을 때는 안전한 단말에서 실행해 달라. 데이터는 저장되지 않으며, 페이지 이탈 시 자동으로 지울 수 있다.
alg=none
으로 토큰을 생성할 때는 반드시 의도를 확인하고 필요한 경우에만 사용해 달라.- 네트워크 통신은 수행하지 않는다. kid에서 외부 JWKS를 가져오는 처리도 구현되어 있지 않다.
호환성
최신 Chrome / Edge / Firefox / Safari를 상정한다. iOS Safari에서는 EdDSA 등 일부 알고리즘이 미지원일 수 있으며, 그 경우 서명 생성·검증 기능이 제한된다.