브라우저 전용 도구

JWT 디코더 및 서명 검증기

헤더와 페이로드 claims를 디코딩하고 시간 상태와 서명을 확인합니다.

브라우저에서 로컬 처리 · 업로드 없음 · 계정 불필요

클레임 분석

JWT 서명 검증

선택 사항: 이 토큰을 검증할 HMAC 비밀키 또는 PEM 공개키를 입력하세요.

HS는 공유 비밀키, RS·PS·ES는 PEM 공개키를 사용합니다.

검증 안 됨

디코딩은 검증이 아닙니다. 서명, 발급자, 대상, 시간 범위, 애플리케이션 정책을 확인하기 전에는 클레임을 신뢰하지 마세요.

도구 사용 방법

헤더와 페이로드 claims를 디코딩하고 시간 상태와 서명을 확인합니다.

샘플로 입력 형식과 메타데이터를 확인한 다음 자신의 값으로 바꾸세요.

개인정보와 안전한 사용

처리는 현재 브라우저 탭 안에서만 이루어집니다. 큰 값은 기기 메모리를 많이 사용할 수 있습니다.

디코딩은 검증이 아닙니다. 서명, 발급자, 대상, 시간 범위, 애플리케이션 정책을 확인하기 전에는 클레임을 신뢰하지 마세요.

자주 발생하는 오류

  • 입력이 비어 있거나 손상되었거나 이 도구가 요구하는 형식이 아닙니다.
  • 선택한 모드가 alphabet, 파일 형식 또는 표현 방식과 맞지 않습니다.
  • 인코딩 값과 디코딩 바이트가 함께 존재해 매우 큰 값은 메모리를 소진할 수 있습니다.
  • 변환 성공이 디코딩 콘텐츠의 안전성이나 신뢰성을 보장하지 않습니다.

동일한 명령어

현재 사용하는 런타임이나 셸에서 같은 작업을 할 수 있습니다. 신뢰할 수 없는 입력을 검증하고 바이너리를 터미널에 직접 출력하지 마세요.

Python

import base64, json
h, p, s = token.split('.')
decode = lambda value: json.loads(base64.urlsafe_b64decode(value + '=' * (-len(value) % 4)))
print(decode(h), decode(p))

JavaScript

const [header, payload] = token.split('.');
const decode = value => JSON.parse(Buffer.from(value, 'base64url').toString('utf8'));
console.log(decode(header), decode(payload));

Shell

IFS=. read -r header payload signature <<EOF
$TOKEN
EOF
printf '%s' "$payload" | basenc --base64url --decode

표준 및 공식 문서