シード付き範囲乱数生成
このシード付き乱数ジェネレーターは、指定された最小値から最大値までの両端を含む範囲で、疑似乱数の整数または浮動小数点数を1つ返します。同じ範囲、シード、モードを後から指定すると、まったく同じ結果を得られます。この確かな再現性は、テストデータ、シミュレーション、ゲーム、デモ、見かけ上ランダムな選択を再実行または監査する必要がある処理に役立ちます。システム乱数、ネットワークサービス、現在時刻は使用しません。
無料で実行
再現できる数値を生成します
一般的な乱数ツールは便利ですが、結果を説明したり再現したりする段階では扱いにくくなります。このジェネレーターではシードを入力の一部として扱うため、生成値は一時的な偶然ではなく、再現できる結果になります。両端を含む最小値と最大値、および安全な整数のシードを入力してください。インデックス、得点、数量、テストケースなどの整数が必要な場合は、既定の整数モードをお使いください。小数値が適切な場合は、小数モードを選択します。応答には生成値とともに、実際の境界、シード、モードが再掲されるため、保存した出力だけで条件を把握できます。ブラウザー、スクリプト、CIジョブ、APIクライアントのいずれからでも、同じ4つの入力を送れば、計算は常に同じ算術経路をたどります。生成された入力に依存する障害が発生した場合は、テスト報告にシードを記録し、後から再実行することで、隠れた状態を保存せずに同一の事例を調査できます。
両端を含む範囲と検証を理解します
最小値と最大値はどちらも範囲に含まれます。整数モードで1から6を指定した場合、1、6、またはその間の任意の整数が返されます。このモードでは、最小値と最大値が安全な整数である必要があります。正確に表現できる範囲を外れたJavaScriptの数値は、通知なしに桁を失い、指定した境界を不正確にする可能性があるためです。小数モードは有限の数値境界を受け付け、混合したシードの53ビットから再現可能な割合を導きます。正規化では両端も許容されます。最小値と最大値が同じ場合は、どちらのモードでもその値を返します。値の欠落、Infinityなどの有限でない値、安全でないシード、未対応のモード、整数モードでの小数境界は拒否されます。また、最小値が最大値を超える場合、値を黙って入れ替えず、入力エラーを返します。自動処理では、設定の逆転を明確に失敗させ、意図しない範囲からもっともらしい値が出ることを防げます。
セキュリティではなく再現性のために使います
決定的なジェネレーターは、再現性が目的の場面に適しています。文書用の安定した例の選択、限定された集合へのテストデータの配分、再実行できるゲーム場面の作成、シミュレーションへの制御された変化の追加などにご利用いただけます。通常、異なるシードからは異なる混合値が生まれ、同じシードを再利用すると、同じ範囲とモードに対する結果が保たれます。アルゴリズムは固定された64ビット整数の混合をローカルで実行し、時計、OSのエントロピー、外部ストレージ、リモートサービスを参照しません。その独立性により、結果は安定し、各リクエストを高速に処理できます。一方、この機能はセキュリティ用の乱数生成器ではありません。アルゴリズムとシードを知る人は出力を再現できますので、パスワード、認証トークン、暗号鍵、規制対象の抽選、対戦型ゲームには使用しないでください。そのような用途には、適切な運用管理を備えた暗号学的に安全なエントロピー源をお選びください。ここでのシードは再実行の鍵であり、秘密情報ではありません。
活用例
生成したテストケースを再実行します
失敗したテストとともにシードを保存し、デバッグ時に同じ範囲内の入力を再生成します。
安定したデモデータを作成します
画面、文書、ビルドの再現性を保ちながら、例に現実的な変化を加えます。
再現可能なシミュレーションを実行します
既知のシードを各シナリオに割り当て、結果を比較して独立に再現できるようにします。
よくある質問
料金はいくらですか?
APIリクエスト1回につき$0.002です。ブラウザー内でも実行していただけます。
最小値と最大値は範囲に含まれますか?
はい。どちらのモードも両端を含み、境界が同じ場合はその値を正確に返します。
同じシードなら常に同じ結果になりますか?
はい。シード、最小値、最大値、モードがすべて同じであれば、結果も同じです。
最小値が最大値を超えるとどうなりますか?
無効な入力としてリクエストが失敗します。境界を自動で並べ替えることはありません。
パスワードやセキュリティトークンに使えますか?
いいえ。アルゴリズムは決定的で再現可能ですが、暗号学的に安全ではありません。
整数モードと小数モードの違いは何ですか?
整数モードは安全な整数を返し、小数モードは範囲内の有限な浮動小数点数を返します。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/prob/random-number-range \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"min":10,"max":100,"seed":2026}'const res = await fetch("https://api.kit.forhosting.com/prob/random-number-range", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"min": 10,
"max": 100,
"seed": 2026
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/prob/random-number-range",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"min": 10,
"max": 100,
"seed": 2026
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/prob/random-number-range", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"min":10,"max":100,"seed":2026}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"min":10,"max":100,"seed":2026}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/prob/random-number-range", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"min": 10,
"max": 100,
"seed": 2026
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "prob.random_number_range",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |