ランダムAPIキー生成器

PHPの暗号学的に安全な乱数関数を使い、サーバー上でキーを生成します。hex、base64url、英数字、UUIDv4から形式を選び、8~128文字を指定し、必要ならsk_live_のようなプレフィックスを付けられます。設定とプレフィックスはサーバーへ送信され、生成値がこのページに返されます。

APIキーの作成方法

  1. 1

    出力文字数を選ぶ

    8~128文字を指定します。UUIDv4は常に36文字なので、文字数の設定は無効になります。

  2. 2

    形式を選ぶ

    hex、base64url、英数字、UUIDv4から選択できます。

  3. 3

    必要に応じてプレフィックスを追加します

    sk_test_のようなプレフィックスを使用することで、ログやGitHubのスキャン結果から漏洩したキーを検出できます。

  4. 4

    生成してコピーします

    お好みのキー形状が得られるまで「再生成」をクリックしてください。その形状をコピーして秘密マネージャーに保存してください。

CSPRNGを使用する理由

PHPはサーバー上でrandom_bytes()random_int()を使って値を生成します。どちらも暗号学的に安全な乱数のための関数です。そのため生成にはこのサイトへのリクエストが必要で、ブラウザ内だけでは完結しません。

编碼マニュアル

形式 出力文字 長さ
Hex 0-9 a-f 8~128文字
英数字 0-9 A-Z a-z 8~128文字
Base64url A-Z a-z 0-9 - _ 8~128文字
UUIDv4 16進数字とハイフン 36文字固定

サイズ選定ガイド

  • 「128ビット(16バイト)」は現代における標準基準です。何十億もの鍵が生成された場合でも、誕生日攻撃に対して耐性を持っています。
  • 「256ビット(32バイト)」は、長期間使用されるキーまたはWebhookの秘密鍵に対して厳格に規定された形式を意味します。 すべての公開型トークンにおいて、エントロピーが96ビット未満となるようにしてください。

運営に関するヒント

  • データベースにハッシュされた鍵(例:SHA-256)を保存し、作成時に一度だけ表示してから、ハッシュ値のみを保存します。
  • 環境別プレフィックスキー:sk_live_sk_test_ ダウンタイムを避けるため、古いキーを取り消す前に新しいキーを発行して回転処理を行います。

よくある質問

16進数1文字は4ビットなので、32文字には128ビットの乱数が含まれます。UUIDv4も全長は128ビットですが、バージョンとバリアントが固定されるため、乱数部分は122ビットです。

いいえ。保存する前にSHA-256またはargon2でハッシュ処理してください。API呼び出し側がキーを渡した場合、送信されたデータをハッシュして比較します。データベースに情報が漏洩した場合、攻撃者はハッシュ値のみを取得できます。

はい。プレフィックスは64文字までに制限され、ランダム部分の前に追加されます。キー種別や環境の識別だけに使ってください。

PHPのrandom_bytes()とrandom_int()を使い、サーバー上で生成します。設定と任意のプレフィックスはサーバーへ送信されます。

関連ツール

このツールは他の言語でも利用できます