JWT 암호화/복호화
디코딩 · 서명 · 검증 · 로컬 안전
JWT 암호화/복호화
준비됨
ABOUT
JWT 암호화·복호화 소개
JWT 인증 디버깅: Header/Payload 디코딩, 로컬 테스트 Token 서명, 서명 유효성 검증.
401 Unauthorized, invalid signature, token expired — JWT 문제는 API 연동 티켓 상당 비율. 로컬 디코딩·검증으로 운영 키 노출 없이 claims·알고리즘 문제를 빠르게 찾을 수 있습니다.
DEEP DIVE
JWT 암호화·복호화 자세히 알아보기
JWT(JSON Web Token)는 Header, Payload, Signature 세 Base64URL 세그먼트, 점 구분. JSONSort JWT 도구는 앞 두 세그먼트 JSON 디코딩, HS256/RS256 로컬 서명·검증, 키·Token 기기 이탈 없음.
OAuth 2.0, OpenID Connect, MSA 인증에 JWT 널리 사용. Token 만료(exp), issuer 불일치, 서명 실패, claims 누락 — 로컬 도구로 빠르게 조사.
JWT Header alg, Payload exp/iat/nbf. 디코딩은 서명 미검증, 누구나 Payload 읽기 — JWT에 비밀번호·PII 금지. 검증은 변조·키 보유자 서명 확인.
FEATURES
핵심 기능
Token 디코딩
JWT 붙여넣기→Header·Payload 포맷 JSON 자동 디코딩.
로컬 서명
payload·키 입력, 테스트용 signed JWT 생성.
서명 검증
Token 서명 유효성, HS256·RS256 지원.
Claims 하이라이트
exp, iat, sub 등 표준 claims 포맷 표시.
키 안전
HMAC 키·RSA 개인키는 로컬 JavaScript만 사용.
즉시 피드백
Token·키 변경 즉시 재디코딩/재검증.
3단 분할
Header / Payload / Signature 구역 표시, JWT 구조 명확.
만료 알림
exp 파싱·현재 시간 비교, 만료 여부 직관 표시.
HOW TO USE
사용 방법
-
1
JWT Token 붙여넣기 자동 디코딩
-
2
또는 Payload·키로 서명/검증
-
3
결과 복사, 키는 브라우저 이탈 없음
-
4
키·알고리즘(HS256/RS256)이 발급자와 일치 확인
-
5
디버깅 후 테스트 키·Token 입력 지우기
WORKFLOW
일반적인 워크플로
데이터 가져오기부터 결과 내보내기까지의 전체 흐름. 팀에서 JWT 암호화·복호화 사용법 통일.
Token 붙여넣기
Authorization header, Cookie, 로그에서 JWT 복사.
Claims 확인
sub, aud, exp, roles 등 예상과 일치 확인.
검증(선택)
secret 또는 PEM 공개키, Signature 유효 검증.
테스트 Token 서명
Payload 수정 로컬 서명, 단위 테스트·Mock 게이트웨이.
USE CASES
적용 시나리오
백엔드 개발
Auth 미들웨어 디버깅, 서명 Token 구조 검증.
프론트엔드 개발
Access Token roles/permissions claims 파싱.
보안 엔지니어
JWT 민감 claims·검증 알고리즘 컴플라이언스 감사.
풀스택 연동
OIDC 로그인 id_token vs access_token 내용 확인.
Identity 엔지니어
OIDC id_token·access_token claims 차이 디버깅.
모바일
App 저장 refresh token 구조 파싱(운영기 검증 금지).
TIPS
사용 팁
- Token 붙여넣기 후 exp 만료 먼저 확인, 401 대부분 만료.
- RS256 검증 PEM 공개키, HS256 공유 secret 문자열.
- 운영 키는 온라인 도구 사용 금지, JSONSort 로컬이 더 안전.
- 테스트 Token payload에 실 사용자 PII 금지.
- Header alg와 검증 알고리즘 일치 필수.
- 디코딩 Payload→포맷터 편집 claims→재서명.
- Bearer 접두사 제거, eyJ 시작 3세그먼트만.
- Clock skew: 서버·로컬 시차로 방금 서명 Token expired 판정 가능.
- RS256 공개키 PEM, BEGIN PUBLIC KEY 포함.
- 디버깅 후 localStorage session 정리, 테스트 Token 잔류 방지.
LOCAL VS ONLINE
로컬 vs 온라인 도구
JSONSort는 순수 프론트엔드 아키텍처를 고수합니다. 아래 비교가 개발 데이터 처리에 로컬 도구가 적합한 이유를 보여줍니다.
TROUBLESHOOTING
흔한 오해 및 문제 해결
실제 사용에서 자주 발생하는 문제와 권장 대처법. 시행착오 시간을 줄입니다.
invalid signature
권장:secret 불일치 또는 alg 불일치. HS256 vs RS256 확인.
token expired
권장:exp 확인. 디버깅 시 더 긴 ttl 테스트 Token 서명.
Malformed token
권장:3세그먼트 . 구분, Base64URL 여분 공백 없음 확인.
공개키 검증 실패
권장:PEM 형식 오류. iss JWKS 공개키 확인.
FAQ
자주 묻는 질문
키가 업로드되나요?
아니요. 서명과 검증은 브라우저 Web Crypto / JS에서 완전히 로컬로 처리됩니다.
RS256을 지원하나요?
HS256과 RS256을 지원합니다. ES256 등은 향후 확장 예정입니다.
키 없이 디코딩할 수 있나요?
Header와 Payload는 키 없이 디코딩할 수 있습니다. Signature 검증에만 키가 필요합니다.
만료된 Token도 디코딩할 수 있나요?
가능합니다. 디코딩은 exp 제한을 받지 않으며, exp는 서버 수락 여부에만 영향을 줍니다.
디코딩이 신원 확인과 같나요?
아닙니다. 디코딩은 내용을 읽을 뿐이며, 검증해야 Token을 신뢰할 수 있습니다.
encrypted JWT (JWE)를 지원하나요?
현재 JWS(서명 JWT)에 집중합니다. JWE는 전용 복호화 도구가 필요합니다.
데이터가 서버에 업로드되나?
아니요. JSONSort 모든 도구는 브라우저 로컬에서 동작하며 입력 내용은 백엔드 서버로 전송되지 않습니다.
가입이나 설치가 필요한가?
필요 없습니다. 페이지를 열면 바로 사용 가능, 계정·클라이언트 다운로드 불필요, PWA 오프라인 캐시 지원.
얼마나 큰 파일을 지원하나?
브라우저 메모리에 따라 다르지만 보통 수 MB급 데이터를 원활히 처리합니다. 초대형 파일은 먼저 분할하거나 병합·정리 도구를 사용하세요.