共通仕様(規約)
QRNG-stream REST API 全体に共通する取り決めです。
ベース URL
https://qrng.zhixuan.dev
すべてのランダム生成は、連続する Web カメラフレームの XOR(静的なシーンを
打ち消し、物理センサーノイズを残す)と SHA-256 エントロピー抽出によって行われ
ます。ランダムエンドポイントのレスポンスは決してキャッシュされません
(Cache-Control: no-store)。
カウントパラメータ
バイト単位のエンドポイントは、?bytes=N でカウントを受け取ります。
| 別名(エイリアス) |
|---|
?bytes= |
?n= |
?length= |
?count= |
- 既定値:
32 - 最大値:
1048576(1 MiB)/ 1 リクエスト - 正の整数である必要があります。
ascii の場合ascii 形式では、N は入力バイト数ではなく 生成される文字数 を表します。
詳細は ランダム生成エンドポイント を参照してください。
レスポンスヘッダ
| ヘッダ | 対象エンドポイント | 意味 |
|---|---|---|
Cache-Control | /v1/random/* | 常に no-store |
エントロピーソースはサーバー側の秘密として扱われ、レスポンス(ヘッダ・ボディ いずれも)に 決して 開示されません。
エラー
エラーは JSON で返されます。
{ "error": "message" }
適切なステータスコードが付与されます。
| ステータス | 意味 |
|---|---|
400 | 不正なリクエスト(非正の値や上限超過のカウントなど) |
404 | 未知の出力フォーマット |
503 | エントロピーソースの停止 / サーバーのシャットダウン中 |
500 | 予期しないエントロピーエラー |
CORS
公開ランダムエンドポイント(/v1/random/*)は
Access-Control-Allow-Origin: * を返すため、任意のオリジンのブラウザアプリ
から利用できます。公開されるのは秘密ではないランダム出力のみで、エントロピー
ソースは決して開示されません。