작업 히스토리 (History)
기록된 작업이 없습니다.

로그인하시면 작업 기록을 무제한으로 저장하고 여러 기기에서 동기화하여 사용할 수 있습니다.

SECURITYSIGNERJWT

JWT 서명 및 디버거

HS256 또는 RS256 알고리즘을 사용해 JWT를 생성, 서명, 검증 및 디버깅합니다.

JWT Setup & Header
Configure algorithm and header claims.
Signing Key
Key used to calculate signature hash.
Encoded Token & Debugger
Full signed JWT token display and edit.
Fill headers/payloads to generate JWT.
SIGNATURE VALIDATION
Invalid Signature/Format
Token not signed yet.

도구 설명 및 사용 방법

사용자 보안 인증 토큰 구조인 JWT를 화면상에서 수동 설계하고 서명합니다. HS256(대칭키)이나 RS256(비대칭키) 알고리즘을 이용해 생성 및 무결성 검사를 동시에 진행합니다. 모든 서명 작업이 로컬에서 수행됩니다.

사용 단계

1
헤더 및 페이로드에 들어갈 데이터 구조를 JSON 양식에 맞추어 커스텀 편집합니다.
2
JWT 발급 인증에 결합할 암호화 서명 방식(HS256 대칭키, RS256 비대칭키)을 고릅니다.
3
비밀 서명 암호값을 넣거나 RSA 개인키/공개키를 대입하면, 서명이 가미된 검증 토큰 스트링이 생성됩니다.
4
완성된 JWT 문자열을 복사해 개발 중인 API 서버 테스트에 헤더 인증 토큰으로 공급합니다.

작동 원리 및 상세 설명

JWT (RFC 7519)는 JSON 객체를 Base64URL로 인코딩하고, 서명(또는 암호화)하여 안전하게 전달하는 표준입니다. Header는 알고리즘과 토큰 타입을, Payload는 클레임(사용자 정보, 권한, 만료 시간 등)을 담습니다. 서명은 HS256(대칭) 또는 RS256(비대칭)으로 생성되어 수신자가 토큰의 무결성과 발신자를 검증할 수 있게 합니다. 실무에서는 인증/인가, 세션 관리, 서비스 간 인증(마이크로서비스) 등에 광범위하게 사용됩니다. exp, iat, nbf 같은 표준 클레임과 aud, iss, sub 등을 통해 토큰의 수명과 범위를 제어합니다. 모든 서명 및 검증 작업이 브라우저 로컬에서 수행되므로, 실제 비밀키나 RSA 키 쌍을 사용한 서명 테스트도 외부에 노출되지 않고 안전하게 진행할 수 있습니다.

자주 묻는 질문 (FAQ)

HS256과 RS256 중 어떤 것을 사용해야 하나요?
HS256은 대칭키(하나의 비밀키)로 서명/검증을 모두 수행하므로 간단하고 빠릅니다. RS256은 비대칭키(RSA)로, 서버는 개인키로 서명하고 클라이언트/타 서비스는 공개키로만 검증할 수 있습니다. 여러 서비스가 토큰을 검증해야 하거나 키 배포가 복잡할 때는 RS256을 추천합니다.
생성된 JWT가 외부로 전송되나요?
전송되지 않습니다. 서명 계산은 브라우저의 Web Crypto API로 로컬에서만 수행됩니다. 실제 비밀키나 개인키를 사용한 서명 테스트도 안전하게 할 수 있습니다.
만료 시간(exp) 클레임은 어떻게 설정하나요?
exp 클레임은 Unix epoch 초 단위 정수로 설정합니다. 도구에서 날짜 선택기를 사용하거나 직접 숫자를 입력할 수 있습니다. 토큰을 발급할 때는 현재 시각 + 유효 기간(예: 15분, 1시간)을 계산하여 넣는 것이 일반적입니다.

코드 사용 예시

API 테스트용 임시 JWT 생성
javascript
// 1. 도구로 Header + Payload 편집 후 HS256 또는 RS256으로 서명
// 2. 생성된 토큰을 Authorization: Bearer 헤더에 사용

fetch('/api/protected', {
  headers: {
    'Authorization': 'Bearer ' + signedJwt
  }
});

// 실제 운영 환경에서는 서버에서 발급한 토큰을 사용하세요.

백엔드 API 개발 중에 인증이 필요한 엔드포인트를 빠르게 테스트하기 위해 임시로 유효한 JWT를 생성하는 패턴입니다.