シードから再現可能なランダムパスワードを生成
このジェネレーターは、同じシード、長さ、文字種の設定を指定すると、毎回同じパスワードを生成します。大文字、小文字、数字、記号を任意に組み合わせることができ、選択した各文字種が少なくとも1文字ずつ必ず含まれます。再現性が必要なテストデータ、デモ、移行手順、設定作業に適しています。決定論的なパスワードはシードを知る方なら再生成できるため、実際のアカウントを保護する場合は、推測困難で秘密に管理されたシードをご使用ください。
無料で実行
ポリシー全体を表す設定を選択してください
まず必要な長さを指定し、対象システムが受け付ける文字種だけを有効にしてください。大文字と小文字は一般的な英字、数字は10進数字、記号はよく使われる ASCII 記号を追加します。ジェネレーターは、有効な各文字種から最低1文字を先に選び、残りの位置を統合した文字集合から補います。その後、決定論的に並べ替えるため、必須文字が常に予測しやすい位置に現れることはありません。4種類を有効にした場合、長さは最低でも 4 が必要です。それ未満では、すべての条件を数学的に満たせません。すべての文字種を無効にすると、空または誤解を招く結果ではなく、明確な入力エラーが返されます。この仕組みにより、各カテゴリが偶然そろうまで結果を確認して再試行することなく、ポリシーに適合したテストデータを取得できます。一般に、複雑な記号要件を増やすよりも、十分な長さを確保するほうが強度向上に役立ちます。対象が長い認証情報に対応している場合は、余裕のある長さと、確実に処理できる文字種をお選びください。
決定論的であることの意味をご確認ください
シードは単なる補足情報ではありません。シードからプラットフォームに依存しない小さな疑似乱数列を初期化し、その後のすべての選択を導きます。そのため、同一の入力は、繰り返しの呼び出し、各ブラウザー、対応するサーバー環境で同一の出力になります。シードの文字列、長さ、または1つの文字種設定を変更するだけでも生成経路が変わり、通常はパスワード全体が変化します。この性質は、制御できない乱数によって結果が不安定になりやすい自動テスト、チュートリアル、スナップショット、再現可能なインフラ例で役立ちます。一方、決定論的であることは、暗号学的に予測不能であることを意味しません。シードと設定を知ったり推測したりできる方は、同じパスワードを再生成できます。実際の認証情報には、メールアドレス、プロジェクト名、現在の年などの公開情報をシードとして使用しないでください。本番環境では十分なエントロピーを持つ秘密のシードを指定し、生成したパスワードと同等に保護してください。再現性が不要な場合は、暗号学的なパスワード管理ツールもご検討ください。この機能はネットワーク、時計、乱数源を一切参照しません。
安全に連携、検証、再現してください
長さ、シード、4つの真偽値設定を1回のリクエストで送信してください。レスポンスには、生成されたパスワード、確認済みの長さ、使用された文字種名が含まれます。機密ではないテストケースとともに設定を記録すれば、生成済みの秘密情報をソースコードへコピーせずに、別の開発者が同じデータを正確に再現できます。移行リハーサルでは、固定したシードにより環境間で一貫した仮認証情報を作成できます。無関係なアカウントで同じ結果を共有しないよう、テストケースごとに異なるシードの名前空間をご使用ください。検証は厳密です。長さは 1 から 256 までの整数、シードは空でない文字列、指定する各設定は真偽値でなければならず、最低1種類を有効にし、長さには全種類を収める必要があります。エラーは違反した条件を示し、不完全なパスワードを返しません。API による自動化は1回 $0.002 で、ブラウザーでは同じ純粋な処理をローカル実行できます。実際の秘密情報として使用する場合は、要求と応答をログへ残さず、保護された経路だけで転送し、漏えいの疑いがあれば更新し、シードも同じ水準で管理してください。
活用例
自動テスト用の安定したデータ
最終値をコードへ固定せず、テスト実行、スナップショット、開発端末をまたいで同一となるポリシー準拠のパスワードを作成できます。
繰り返し可能な移行リハーサル
本番移行前に移行処理やインポートを繰り返し検証するとき、環境間で一貫した仮認証情報を生成できます。
再現可能なドキュメント例
記録したシードを使い、すべての文字種設定を紹介しながら、チュートリアルや API 例の結果を安定させられます。
よくある質問
同じ入力からは常に同じパスワードが生成されますか?
はい。アルゴリズムは指定されたシードと設定だけを使用し、ネットワーク、時計、乱数源を参照しないため、同一入力から同一出力を再現できます。
有効にした文字種はすべて含まれますか?
はい。まず有効な各文字種から最低1文字を選び、残りの位置を補った後、結果全体を並べ替えます。
すべての文字種を無効にするとどうなりますか?
空の文字集合からはパスワードを生成できないため、無効な入力としてエラーが返されます。
複数の文字種で短い長さを指定できますか?
長さが有効な文字種の数以上である場合に限ります。すべての条件を満たせない短い値は拒否されます。
決定論的なパスワードを実際のアカウントに使えますか?
秘密で推測困難なシードを使う場合に限ります。シードと設定を知る方は再生成できるため、再現性が不要なら暗号学的なパスワード管理ツールをご使用ください。
API リクエストの料金はいくらですか?
API リクエストは1回 $0.002 です。ブラウザー版では同じ純粋な処理をローカルで実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/web/password-generate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"length":20,"seed":"release-2026"}'const res = await fetch("https://api.kit.forhosting.com/web/password-generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"length": 20,
"seed": "release-2026"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/password-generate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"length": 20,
"seed": "release-2026"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/password-generate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"length":20,"seed":"release-2026"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"length":20,"seed":"release-2026"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/password-generate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"length": 20,
"seed": "release-2026"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.password_generate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
timeout_sec | 30 |
max_crawl_pages | 25 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |