JWT 제네레이터
사용자 정의 헤더, 페이로드, 키로 서명된 JWT를 생성합니다. HS256, RS256, ES256 지원.
JWT란 무엇인가요?
JWT(JSON Web Token, RFC 7519)는 컴팩트한 JSON 객체로 당사자 간 정보를 안전하게 전송하는 오픈 표준입니다. Header.Payload.Signature 세 부분으로 구성되며 점으로 구분됩니다.
JWT의 일반적인 사용 사례는?
JWT는 인증(싱글 사인온), API 권한 부여, 안전한 정보 교환에 널리 사용됩니다. 로그인 후 서버가 JWT를 발급하고, 클라이언트는 후속 요청에서 이 토큰을 포함하여 신원을 증명합니다.
HS256, RS256, ES256 중 어떻게 선택하나요?
HS256은 공유 비밀키를 사용하며 가장 빠르고 단일 서비스에 적합합니다. RS256은 RSA 키 쌍을 사용하며 다중 서비스 아키텍처에 적합합니다. ES256은 타원 곡선 키를 사용하여 짧은 서명으로 강력한 보안을 제공합니다.
JWT 클레임이란 무엇인가요?
클레임은 페이로드의 정보입니다. 등록된 클레임에는 iss(발급자), sub(주제), exp(만료), aud(대상)이 있습니다. 공개 클레임은 IANA에 등록 가능하며, 비공개 클레임은 당사자 간 합의된 커스텀 필드입니다.
JWT를 어떻게 검증하나요?
헤더를 디코딩하여 알고리즘을 확인한 후, 적절한 키(HMAC은 공유 비밀키, RSA/ECDSA는 공개키)로 서명을 검증합니다. exp, iss, aud 클레임도 확인하세요.
브라우저에서 JWT를 생성하는 것이 안전한가요?
네, 이 도구는 Web Crypto API를 사용합니다. 키와 토큰이 브라우저를 떠나지 않으며 서버로 전송되지 않습니다.
인코딩과 서명의 차이점은?
인코딩(Base64)은 데이터를 전송 가능한 형식으로 변환할 뿐이며 누구나 디코딩할 수 있습니다. 서명은 암호학적 해시를 생성하여 토큰이 변조되지 않았음을 증명합니다.
JWT를 암호화할 수 있나요?
네, JWE(JSON Web Encryption)는 페이로드 내용을 암호화합니다. 표준 JWT(JWS)는 무결성만 보장하며, 페이로드는 토큰을 가진 누구나 읽을 수 있습니다.
JWT 보안 모범 사례는?
항상 짧은 만료 시간을 설정하세요. HMAC에 강력하고 랜덤한 비밀키를 사용하세요. RSA/ECDSA 개인키는 안전하게 보관하세요. 페이로드에 민감한 데이터를 넣지 마세요. 운영 환경에서는 HTTPS를 사용하세요.
JWT와 세션 기반 인증의 차이점은?
JWT는 무상태로, 서버가 세션 데이터를 저장하지 않아 마이크로서비스와 크로스 도메인에 적합합니다. 세션은 서버 측 저장이 필요하지만 즉각적인 철회가 가능합니다.
JWT는 로그아웃과 세션 관리에 적합한가요?
JWT는 설계상 무상태이므로 로그아웃에 블랙리스트나 짧은 수명의 토큰과 갱신 토큰 조합 등 추가 메커니즘이 필요합니다. 짧은 수명의 액세스 토큰(예: 15분) 사용을 권장합니다.
갱신 토큰 패턴은 어떻게 작동하나요?
API 호출에 짧은 수명의 액세스 토큰(JWT)을 사용하고, 더 긴 수명의 갱신 토큰으로 새 액세스 토큰을 받습니다. 액세스 토큰이 만료되면 클라이언트는 갱신 토큰을 보내 새 JWT를 받습니다.
"none" 알고리즘이란?
"none" 알고리즘은 JWT가 서명되지 않음을 의미합니다. 테스트 목적으로만 사용하세요. 많은 라이브러리에서 보안을 위해 기본적으로 비활성화되어 있습니다.
JWT에 크기 제한이 있나요?
JWT에는 고정 크기 제한이 없지만 HTTP 헤더로 전송되므로 4KB 이하로 유지해야 합니다. 페이로드는 최소화하여 필요한 클레임만 포함하세요.
JWT 제네레이터 사용 방법
사용자 지정 header, payload, 시크릿 또는 키로 서명된 JSON Web Token을 만듭니다. HS256/384/512, RS256/384/512, ES256/384/512 중 선택할 수 있으며 모두 브라우저에서 로컬로 생성됩니다.
- 드롭다운에서 알고리즘을 선택하세요. 공유 시크릿에는 HS256, HS384, HS512, 키 쌍에는 RS256/384/512 또는 ES256/384/512, 서명 없는 토큰에는 'none'을 고르세요.
- header와 payload의 JSON을 편집하고 sub, iss, exp 같은 클레임을 추가하세요.
- 시크릿(HS* 알고리즘용)을 입력하거나 개인 키(RS*, ES* 알고리즘용)를 붙여넣으세요.
- 토큰을 생성하고 점으로 구분된 결과 JWT를 API 요청이나 테스트에 복사하세요.
'none'은 서명 없는 토큰을 만들며 대부분의 서버가 거부합니다. 디버깅 용도로만 사용하세요.
관련 도구
- JWT 디코더 무료 온라인 JWT 디코더. JWT를 즉시 디코딩하여 헤더, 페이로드, 서명을 확인. 등록 불필요.
- 파일 해시 MD5, SHA-1, SHA-256, SHA-512 파일 해시 로컬 계산 및 검증
- Chmod 계산기 체크박스 포함 Linux 파일 권한을 시각화하고 계산하는 무료 온라인 chmod 계산기. 숫자(755, 644)와 기호 표기법(rwxr-xr-x)을 즉시 변환. setuid, setgid, sticky bit 같은 특수 권한 지원.
- ASCII 코드표 10진수, 16진수, 8진수, 2진수 코드, HTML 엔티티 및 문자 설명을 포함한 완전한 ASCII 문자 인코딩 참조. 즉시 검색 및 필터링.
- Hex 뷰어 검색, 오프셋 탐색 및 가상 스크롤링으로 파일 내용을 헥스 덤프 형식으로 보기
- HTTP 요청 테스터 브라우저에서 직접 REST API를 테스트하세요. 사용자 정의 헤더, 본문, 쿼리 매개변수로 GET, POST, PUT, DELETE 요청을 전송하고 응답 상태, 헤더, JSON 본문을 즉시 확인합니다.
- .htaccess 생성기 Apache .htaccess 규칙을 생성합니다. 리디렉션, 재작성, 보안 헤더, 캐싱 등.
- Robots.txt 생성기 무료 온라인 robots.txt 생성기. robots.txt 파일을 만들고 사용자 정의하여 검색 엔진 크롤링을 제어하고, 크롤러 액세스를 관리하며, 사이트 SEO를 최적화하세요.