JWTジェネレーターガイド:HS256/RS256署名トークンの作成

ユーティリティ(更新: 2026年6月17日)

JWTとは

JSON Web Token(JWT)は、コンパクトで自己完結型のトークン形式で、認証や情報交換に広く使用されます:

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IlRhcm8iLCJpYXQiOjE3MDAwMDAwMDAsImV4cCI6MTcwMDAwODAwMH0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
↑ Header              ↑ Payload                    ↑ Signature

JWTは3つのBase64URLエンコードされた文字列を . で区切って構成されます。


3段構造の詳細

Header(ヘッダー)

{
  "alg": "HS256",
  "typ": "JWT"
}
フィールド 意味
alg 署名アルゴリズム:HS256、RS256など
typ トークンタイプ、常にJWT

Payload(ペイロード)

{
  "sub": "1234567890",
  "name": "太郎",
  "role": "admin",
  "iat": 1700000000,
  "exp": 1700008000
}
フィールド 意味 必須
sub サブジェクト(ユーザーID) 推奨
iat 発行時刻(Issued At) 推奨
exp 有効期限(Expiration) 必須
iss 発行者(Issuer) 任意
aud 受信者(Audience) 任意
nbf 有効開始時刻(Not Before) 任意

Signature(署名)

HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)

署名はトークンが改ざんされていないことを保証しますが、ペイロードはデフォルトで暗号化されていません——機密情報を入れないでください


HS256 vs RS256

比較項目 HS256 RS256
アルゴリズム種別 対称暗号(HMAC) 非対称暗号(RSA)
共有シークレット(文字列) 公開鍵 + 秘密鍵
検証者 同じシークレットが必要 公開鍵のみで検証可能
用途 単一サービス、内部マイクロサービス マルチサービス、サードパーティ検証
鍵管理 簡単だが漏洩リスクが高い より安全、公開鍵を配布可能

選択の目安:モノリスにはHS256、マイクロサービス/オープンAPIにはRS256。


JWTジェネレーターの使い方

ステップ1:ツールを開く

JWTジェネレーター にアクセスし、トークン作成画面に入ります。

ステップ2:署名アルゴリズムを選択

  • 単一サービス:HS256 を選択し、共有シークレットを入力
  • マルチサービス:RS256 を選択し、秘密鍵を貼り付け

ステップ3:ペイロードを入力

ペイロードエディターでClaimsを追加:

{
  "sub": "user_10086",
  "name": "太郎",
  "role": "admin",
  "iat": 1700000000,
  "exp": 1700008000
}

iatexp はUnixタイムスタンプ(秒)を使用。ツールは有効期限の視覚的設定に対応しています。

ステップ4:トークンを生成

「生成」をクリック。ツールが自動的に:

  1. HeaderをBase64URLエンコード
  2. PayloadをBase64URLエンコード
  3. 鍵を使用して署名を計算
  4. 完全なJWT文字列に連結

ステップ5:トークンを検証

生成されたトークンを JWTデコーダー に貼り付け、確認:

  • HeaderとPayloadが正しくデコードされる
  • 署名検証が通る
  • exp 時間が過ぎていない

有効期限のベストプラクティス

シナリオ 推奨 exp 理由
Access Token 15-30分 短命で漏洩リスクを低減
Refresh Token 7-30日 長命、再発行に使用
メール確認リンク 1-24時間 ワンタイム使用
API Key expなしまたは1年以上 長期資格情報

| Access Token + Refresh Token のダブルトークン方式の併用を推奨します。


Base64URLエンコードの注意点

JWTはBase64URLエンコードを使用します。標準Base64との違い:

違い 標準Base64 Base64URL
+ + -
/ / _
パディング = あり なし

Base64エンコード/デコードツール を使用する際は、URLセーフモードを選択してください。


よくある問題

問題 原因 解決策
署名検証失敗 鍵の不一致 生成と検証で同じ鍵を使用しているか確認
トークン期限切れ exp時間が経過 再生成またはRefresh Tokenを使用
ペイロードが文字化け Base64URLでデコードされていない JWTデコーダー を使用
機密情報の漏洩 ペイロードが暗号化されていない パスワード等をペイロードに入れない
RS256検証失敗 公開鍵の不一致 公開鍵と秘密鍵が同じペアか確認

まとめ

JWTはモダンWeb認証の中核技術です。3段構造とHS256/RS256の違いを理解し、Claimsと有効期限を正しく設定することが、安全なJWT利用の鍵です。JWTジェネレーターJWTデコーダー で、ブラウザ内でトークンの作成、デコード、検証の全工程を完結できます。

#JWT#Token生成#HS256#RS256#认证