Tooltoss

JWT 디코더

JSON Web Token을 붙여 넣으면 헤더, 페이로드, 만료 시각을 바로 확인하고 HMAC 서명도 검증할 수 있습니다. 해독은 브라우저 안에서 이루어져 토큰이 어디에도 전송되지 않습니다.

토큰과 비밀키는 브라우저 안에만 있습니다. 그래도 운영 환경 비밀키는 어떤 사이트에도 붙여 넣지 마세요.

JWT 해독하는 법

  1. 점(.)으로 구분된 세 부분(Base64URL)으로 된 토큰을 입력란에 붙여 넣습니다.
  2. 해독된 헤더와 페이로드를 확인합니다. 시간 값은 내 시간대의 날짜로 표시됩니다.
  3. 상태(만료됨·유효함·아직 유효하지 않음)를 확인합니다.
  4. HS256/HS384/HS512 서명은 비밀키를 입력하고 '검증'을 누릅니다.

JWT 구조와 표준 클레임

부분 / 클레임의미예시
헤더알고리즘과 토큰 종류{"alg":"HS256","typ":"JWT"}
페이로드사용자와 토큰에 관한 정보(클레임){"sub":"123","exp":1767225600}
서명헤더와 페이로드가 바뀌지 않았다는 증명HMACSHA256(header.payload, secret)
iss / sub / aud발급자 / 주체(사용자) / 수신자"https://auth.example.com"
exp / iat / nbf만료 / 발급 / 유효 시작 (Unix 초)1767225600

자주 묻는 질문

Q. 여기에 JWT를 붙여 넣어도 안전한가요?
해독과 검증은 브라우저 안에서만 이루어지며 서버로 아무것도 보내지 않습니다. 그래도 운영 환경 토큰은 비밀번호처럼 다루세요. 유효한 토큰을 가진 사람은 만료 전까지 그대로 쓸 수 있습니다.
Q. JWT는 암호화되어 있나요?
아니요. 일반적인 JWT(JWS)는 Base64URL로 인코딩하고 서명만 한 것이라 누구나 페이로드를 읽을 수 있습니다. 비밀번호나 비밀 정보를 넣으면 안 됩니다. 서명은 위변조되지 않았다는 것만 증명합니다.
Q. RS256, ES256 토큰은 왜 검증이 안 되나요?
이 방식은 공유 비밀키가 아니라 발급자의 공개키로 검증합니다. 이 도구는 입력한 비밀키로 HMAC 방식(HS256, HS384, HS512)을 검증합니다.
Q. exp, iat, nbf는 무슨 뜻인가요?
초 단위 Unix 시간입니다. exp는 만료 시각, iat는 발급 시각, nbf는 그 이전에는 토큰을 받아들이면 안 되는 시각입니다.

관련 도구

최종 업데이트: