ユーザーが電話をかけ、電話のキーパッドで確認番号を入力する必要があるアプリケーションに取り組んでいます。
入力した数字が正しいかどうかを検出できるようにしたいと思います。電話システムは有効な番号のリストにアクセスできませんが、代わりにアルゴリズム (クレジット カード番号など) に対して番号を検証します。
要件の一部を次に示します。
- 有効なランダムコードを入力するのは難しいに違いない
- タイプミス(桁の入れ替わり、桁違い)をすると有効なコードを取得するのが難しいに違いありません
- 合理的な数の可能な組み合わせが必要です (1M としましょう)
- ユーザーのエラーを避けるために、コードはできるだけ短くする必要があります
これらの要件を考えると、どのようにそのような数を生成しますか?
編集 :
@Haaked: ユーザーが電話で入力するため、コードは数値でなければなりません。
@matt b: 最初のステップでは、コードが Web ページに表示されます。2 番目のステップでは、コードを呼び出して入力します。ユーザーの電話番号がわかりません。
フォローアップ : 数値の有効性をチェックするアルゴリズムをいくつか見つけました(この興味深い Google Code プロジェクトを参照してください: checkDigits )。