온라인 JWT 디코더
JWT를 입력하면 헤더와 페이로드를 JSON으로 디코딩하여 표시합니다. 서명 검증은 하지 않으며, 브라우저에서 안전하게 처리됩니다. 처리는 브라우저에서 로컬로…
사용 시작
JWT 디코더의 기능과 사용 예
JWT(JSON Web Token)는 인증 및 정보 교환에 널리 사용됩니다. 이 도구는 JWT의 헤더와 페이로드를 디코딩하여 내용을 사람이 읽을 수 있는 JSON 형식으로 보여줍니다. 예를 들어, 다음과 같은 JWT가 있다고 가정합니다.
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c이 JWT를 입력하면 디코더는 헤더 부분 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9을 디코딩하여 {"alg":"HS256","typ":"JWT"}로 표시하고, 페이로드 부분 eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ을 디코딩하여 {"sub":"1234567890","name":"John Doe","iat":1516239022}로 표시합니다. 서명 부분은 변경되지 않은 채 표시됩니다.
주요 처리 과정
- JWT는 세 부분으로 분할되며, 각 부분은 Base64URL 디코딩됩니다.
- 헤더와 페이로드는 JSON으로 파싱되어 객체인지 확인합니다.
- 입력 길이는 500,000자로 제한됩니다.
- 세그먼트 누락, 잘못된 Base64URL, 잘못된 UTF-8, 잘못된 JSON, 객체가 아닌 헤더/페이로드는 오류로 처리됩니다.
제한 사항
이 도구는 JWT의 서명을 검증하지 않습니다. 또한 알고리즘, 발급자, 대상, 키, 만료 여부 등을 확인하지 않습니다. 페이로드에 포함된 클레임(예: exp, nbf, iat)은 단순히 표시될 뿐, 현재 토큰이 유효한지 여부는 판단하지 않습니다. 따라서 디코딩된 정보는 신뢰할 수 없는 것으로 간주해야 합니다.
개인 정보 보호
모든 처리는 브라우저 내에서 이루어지며, 서버로 전송되지 않습니다. 그러나 JWT에는 개인 데이터나 자격 증명이 포함될 수 있으므로 공유 컴퓨터나 감시 장치에서 실제 사용 중인 토큰을 붙여넣지 않는 것이 좋습니다.
자주 묻는 질문
JWT 디코더가 서명을 검증하나요?
아니요, 이 도구는 서명을 검증하지 않습니다. 단지 헤더와 페이로드를 디코딩하여 표시할 뿐입니다. 서명 검증은 별도의 도구나 라이브러리를 사용해야 합니다.
JWT에 만료 시간(exp)이 있으면 어떻게 표시되나요?
exp 클레임은 숫자 타임스탬프로 저장되어 있으며, 디코더는 그 값을 그대로 표시합니다. 예를 들어 exp: 1600000000과 같이 표시됩니다. 이 도구는 만료 여부를 판단하지 않습니다.
입력할 수 있는 JWT의 최대 길이는 얼마인가요?
입력은 최대 500,000자까지 허용됩니다. 그 이상을 입력하면 오류가 발생할 수 있습니다.
체크리스트
- JWT가 세 부분으로 구성되어 있는지 확인
- Base64URL 인코딩이 올바른지 확인
- 헤더와 페이로드가 JSON 객체인지 확인
- 디코딩 결과가 예상과 일치하는지 확인
- 서명 검증이 필요하면 별도 도구 사용
처리는 브라우저에서 로컬로 수행됩니다.