JWT 서명 검증
HMAC Secret으로 JWT 서명을 브라우저에서 직접 검증합니다.
파일이 서버로 전송되지 않습니다 — 모든 처리는 브라우저에서만
공용 PC에서 실제 Secret 입력 주의
사용법 및 자주 묻는 질문
사용법
JWT 토큰을 왼쪽 입력창에 붙여넣고, 오른쪽에 HMAC Secret을 입력하면 자동으로 검증됩니다. HS256·HS384·HS512 알고리즘을 header의 alg 필드에서 자동 감지합니다. RS256·ES256 등 비대칭 키 알고리즘과 none alg는 지원하지 않습니다.
HS256/HS384/HS512만 지원하는 이유는 무엇인가요?
HMAC(HS) 계열은 동일한 비밀키로 서명과 검증이 이루어져 브라우저에서 텍스트 입력만으로 검증할 수 있습니다. RS256·ES256 등 비대칭 알고리즘은 공개키(PEM/JWK)를 별도로 관리해야 하며, 별도 도구로 지원할 예정입니다.
입력한 JWT와 Secret이 서버로 전송되나요?
아니요. 모든 검증은 브라우저의 Web Crypto API(crypto.subtle)를 사용해 클라이언트에서만 이루어집니다. JWT와 Secret은 서버로 전송되지 않습니다. 단, Secret은 민감한 정보이므로 공용 PC에서는 주의하세요.
검증 성공이 "이 토큰을 신뢰해도 된다"는 의미인가요?
아니요. 서명 검증 성공은 "이 토큰이 입력한 Secret으로 서명되었다"는 의미일 뿐입니다. 토큰 발급자의 신뢰도, 만료 여부(exp), 대상자(aud), 발급자(iss) 등은 별도로 확인해야 합니다.
alg: none 토큰은 왜 유효로 처리되지 않나요?
none 알고리즘은 서명을 완전히 생략하는 방식으로, 악의적인 공격자가 서명 검증을 우회하는 데 악용될 수 있습니다. 이 도구는 none을 의도적으로 지원하지 않으며, 프로덕션 환경에서도 none alg 허용을 권장하지 않습니다.
RS256·ES256 토큰도 검증할 수 있나요?
아니요. 이 도구는 HMAC(HS256/HS384/HS512) 알고리즘만 지원합니다. RS256·ES256 등 비대칭 알고리즘 검증은 공개키가 필요하며, 별도 도구로 지원할 예정입니다.
관련 도구
- JWT 디코더 — Secret 없이 JWT 내용만 확인할 때
- 해시 생성기 — SHA-256 등 해시값을 직접 계산할 때
- Base64 인코더/디코더 — JWT 구성 요소를 직접 인코딩·디코딩할 때