JWT 디코더

브라우저에서 즉시 JWT 헤더와 페이로드를 디코딩하세요.

JWT 붙여넣기
준비되었습니다. 디코딩할 JWT를 붙여넣으세요.

토큰은 브라우저 내에서 디코딩됩니다. BroBroGo로 아무것도 업로드되지 않습니다.

자주 묻는 질문

여기에 JWT를 붙여넣어도 안전한가요?

네, 안전합니다. 디코딩은 완전히 사용자의 브라우저 내에서 이루어지며 토큰이 BroBroGo 서버로 전송되지 않습니다.

이 도구가 서명 검증도 수행하나요?

아니요, 서명 검증은 하지 않습니다. 이 도구는 사용자가 읽을 수 있도록 헤더와 페이로드를 디코딩할 뿐입니다. 서명을 검증하려면 서명 비밀키나 공개키가 필요하지만, 이 도구는 이를 요구하지 않습니다.

토큰이 만료되었는지 어떻게 확인하나요?

디코더가 exp 클레임을 읽고 디코딩된 토큰 옆에 유효함, 만료됨, 아직 유효하지 않음, 만료 시간 없음 등의 상태 배지를 표시합니다.

JSON Web Token의 구조와 Base64URL 인코딩

JSON Web Token(JWT)은 웹 표준(RFC 7519)에 따라 두 개체 간에 정보를 JSON 객체로 안전하게 전송하기 위한 컴팩트하고 독립적인 방법입니다. JWT는 점(.)으로 구분된 세 가지 부분으로 구성됩니다.

  1. 헤더 (Header): 토큰의 유형과 사용된 서명 알고리즘 정보를 담고 있습니다.
  2. 페이로드 (Payload): 토큰에 담을 클레임(claim) 정보들을 포함합니다.
  3. 서명 (Signature): 메시지가 도중에 변경되지 않았음을 검증하는 데 사용됩니다.

각 부분은 Base64URL 인코딩을 통해 문자열로 변환되어 결합됩니다. Base64URL은 URL에서 혼동을 줄 수 있는 문자들을 대체하여 안전하게 전송할 수 있도록 설계된 인코딩 방식입니다. 이 도구는 입력된 JWT의 각 세그먼트를 역산하여 원래의 JSON 구조로 복원합니다.


JWT 헤더와 페이로드의 주요 클레임

디코딩된 헤더와 페이로드는 구조화된 JSON 형식으로 나타납니다. 헤더에는 주로 토큰의 유형을 나타내는 typ 클레임과 서명에 사용된 알고리즘을 정의하는 alg 클레임이 포함됩니다.

페이로드에는 토큰의 주체나 메타데이터를 나타내는 다양한 클레임이 포함됩니다. 대표적으로 토큰이 발급된 시점을 나타내는 iat(Issued At) 클레임과 토큰의 유효기간이 끝나는 시점을 나타내는 exp(Expiration Time) 클레임이 있습니다. 이 도구는 이러한 표준 클레임들을 분석하여 사용자가 읽을 수 있는 시간 정보와 토큰 상태를 직관적으로 제공합니다.


디코딩과 서명 검증의 차이점 및 보안 영향

JWT를 디코딩하는 것과 검증하는 것은 완전히 다른 작업입니다. 디코딩은 Base64URL로 인코딩된 문자열을 원래의 텍스트(JSON)로 변환하는 단순한 과정일 뿐이며, 비밀키나 공개키가 필요하지 않습니다.

반면, 서명 검증은 토큰의 무결성과 신뢰성을 보장하기 위해 필수적입니다. 서명을 검증하지 않고 디코딩된 페이로드의 정보만 신뢰하는 것은 보안상 매우 위험합니다. 악의적인 사용자가 페이로드 내용을 임의로 변환하더라도 서명을 검증하지 않으면 이를 감지할 수 없기 때문입니다. 본 도구는 서명 비밀키나 공개키를 요구하지 않으며, 서명 검증을 수행하지 않고 오직 정보 디코딩 및 만료 여부 분석 기능만 제공합니다.


입력값 검증 및 오류 처리 규칙

도구에 JWT를 입력하면 실시간으로 형식을 검증하며, 규칙에 맞지 않는 경우 다음과 같은 오류 메시지를 표시하고 디코딩 영역을 숨깁니다.

  • 입력값 없음: 도구는 "준비되었습니다. 디코딩할 JWT를 붙여넣으세요." 상태를 유지합니다.
  • 형식 오류: 점(.)으로 구분된 세 부분이 존재하지 않는 경우 "유효하지 않은 JWT 형식입니다. 점(.)으로 구분된 세 부분이 필요합니다." 메시지가 나타납니다.
  • 길이 초과: 입력값이 실제 토큰으로 볼 수 없을 만큼 길면 "실제 JWT로 보기에는 너무 깁니다." 메시지를 출력합니다.
  • 디코딩 실패: 헤더나 페이로드의 Base64URL 구조가 올바르지 않으면 각각 "헤더를 디코딩할 수 없습니다. 유효하지 않은 Base64URL 형식입니다." 또는 "페이로드를 디코딩할 수 없습니다. 유효하지 않은 Base64URL 형식입니다." 오류를 표시합니다.
  • JSON 파싱 실패: 디코딩은 되었으나 올바른 JSON 형식이 아닐 경우 "헤더가 유효한 JSON 형식이 아닙니다." 또는 "페이로드가 유효한 JSON 형식이 아닙니다." 메시지가 나타납니다.

개인정보 보호 및 데이터 처리 방식

이 도구를 사용할 때 입력하는 모든 토큰 데이터는 외부 서버로 전송되지 않습니다. 모든 디코딩 및 분석 프로세스는 사용자의 웹 브라우저 내부에서 로컬로 실행됩니다. 토큰은 브라우저 내에서 디코딩됩니다. BroBroGo로 아무것도 업로드되지 않으므로 안심하고 분석 작업을 수행할 수 있습니다.


자주 묻는 질문 (FAQ)

Q: 여기에 JWT를 붙여넣어도 안전한가요?
A: 네, 안전합니다. 디코딩은 완전히 사용자의 브라우저 내에서 이루어지며 토큰이 BroBroGo 서버로 전송되지 않습니다.

Q: 이 도구가 서명 검증도 수행하나요?
A: 아니요, 서명 검증은 하지 않습니다. 이 도구는 사용자가 읽을 수 있도록 헤더와 페이로드를 디코딩할 뿐입니다. 서명을 검증하려면 서명 비밀키나 공개키가 필요하지만, 이 도구는 이를 요구하지 않습니다.

Q: 토큰이 만료되었는지 어떻게 확인하나요?
A: 디코더가 exp 클레임을 읽고 디코딩된 토큰 옆에 유효함, 만료됨, 아직 유효하지 않음, 만료 시간 없음 등의 상태 배지를 표시합니다.