このツールの使い方
編集可能な 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)