APIキー生成ツール
APIキー、セッショントークン、Webhookシークレット向けの安全な文字列をブラウザ内で生成します。結果は送信されません。
安全なAPIキーを生成
生成結果
形式と長さを設定してAPIキーを生成してください。
このAPIキー生成ツールの特長
人が覚えるパスワードではなく、アプリケーションが扱う高エントロピーのシークレット向けです。
APIキーの作り方
形式を選ぶ
一般的なシークレットはランダム文字、バイト表現はHex、URLやヘッダーにはBase64URLが便利です。
長さと生成数を決める
利用先の仕様に合わせて文字数と必要なキー数を設定します。
強度を確認する
推定エントロピーで用途に十分な強度か確認します。
安全に保管する
結果はシークレット管理サービスへ保存し、Gitへコミットしないでください。
APIキー生成ツールの利用例
API認証
社内API、検証環境、外部連携向けの推測困難な認証情報を作成します。
セッションとリセットトークン
ログイン、招待URL、パスワード再設定用のランダム値を準備します。
Webhookシークレット
Webhook署名の検証に使う共有シークレットを生成します。
テストデータ
本番情報を流用せず、APIキーらしいダミーデータを作れます。
安全なランダムトークンの仕組み
crypto.getRandomValues()から安全な乱数を取得し、棄却サンプリングで単純な剰余演算による偏りを防ぎます。
長さ・文字セット・エントロピー
推定値は「長さ × log2(文字セット数)」です。文字種と長さを増やすほど組み合わせが増えます。
生成後の保管も重要
本番シークレットは専用サービスでアクセス制御とローテーションを行い、Gitには保存しないでください。
APIキー生成で困ったとき
結果が出ない
文字種を1つ以上有効にするか、独自文字セットを入力してください。
記号が拒否される
記号を無効にするか、HexまたはBase64URLを選びます。
文字数とバイト数が違う
ここでの長さは表示文字数で、デコード後のバイト数とは異なります。
コピーできない
ブラウザ権限で拒否された場合は、結果を選択して手動でコピーしてください。
APIキー生成ツールのよくある質問
APIキーとは何ですか?
アプリ間で呼び出し元を識別したりアクセス権を確認したりするための、推測困難な認証情報です。
生成されるキーは安全ですか?
はい。crypto.getRandomValues()を使い、文字選択の確率にも偏りが出ないようにしています。
何文字にすればよいですか?
システム要件に合わせてください。長期シークレットでは128ビット以上のエントロピーが一般的な目安です。
HexとBase64URLの違いは?
Hexは扱いやすく、Base64URLはより短くURLやHTTPヘッダーに適しています。
APIキーは送信されますか?
いいえ。処理はブラウザのメモリ内で行われ、結果は保存されません。
パスワード生成との違いは?
APIキーは主にプログラムが読み取ります。パスワードはサイト規則や人による管理も考慮します。