도구 사용 방법
편집 가능한 JSON에서 HMAC, RSA, RSA-PSS 또는 ECDSA JWT를 만듭니다.
샘플로 입력 형식과 메타데이터를 확인한 다음 자신의 값으로 바꾸세요.
개인정보와 안전한 사용
처리는 현재 브라우저 탭 안에서만 이루어집니다. 큰 값은 기기 메모리를 많이 사용할 수 있습니다.
운영 비밀키나 개인키를 브라우저 도구에 붙여 넣지 마세요. 운영 환경에서는 유지 관리되는 JWT 라이브러리와 보호된 서버 키 저장소를 사용하세요.
자주 발생하는 오류
- 입력이 비어 있거나 손상되었거나 이 도구가 요구하는 형식이 아닙니다.
- 선택한 모드가 alphabet, 파일 형식 또는 표현 방식과 맞지 않습니다.
- 인코딩 값과 디코딩 바이트가 함께 존재해 매우 큰 값은 메모리를 소진할 수 있습니다.
- 변환 성공이 디코딩 콘텐츠의 안전성이나 신뢰성을 보장하지 않습니다.
동일한 명령어
현재 사용하는 런타임이나 셸에서 같은 작업을 할 수 있습니다. 신뢰할 수 없는 입력을 검증하고 바이너리를 터미널에 직접 출력하지 마세요.
Python
import base64, hashlib, hmac, json
b64 = lambda value: base64.urlsafe_b64encode(value).rstrip(b'=').decode()
body = '.'.join([b64(json.dumps(header, separators=(',', ':')).encode()), b64(json.dumps(payload, separators=(',', ':')).encode())])
token = body + '.' + b64(hmac.new(secret, body.encode(), hashlib.sha256).digest())
JavaScript
import { createHmac } from 'node:crypto';
const b64 = value => Buffer.from(JSON.stringify(value)).toString('base64url');
const body = `${b64(header)}.${b64(payload)}`;
const token = `${body}.${createHmac('sha256', secret).update(body).digest('base64url')}`;
Shell
b64url() { openssl base64 -A | tr '+/' '-_' | tr -d '='; }
body="$(printf '%s' "$HEADER" | b64url).$(printf '%s' "$PAYLOAD" | b64url)"
sig=$(printf '%s' "$body" | openssl dgst -sha256 -mac HMAC -macopt "key:$SECRET" -binary | b64url)