도구 사용 방법
편집 가능한 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)