あなたが前にこのスレッドを読んだなら-私が書いたすべてを忘れてください、私がそれを書いたとき私は酔っていたに違いありません。最初からやり直します:
私は現在、ユーザー入力を検証するためにある種のアルゴリズムを使用するプロジェクトに取り組んでいます。考慮すべき3つのパーティがあります。
クライアント-私たちのウェブページを閲覧する
会社-私たちは、クライアントの要求を処理します
サードパーティ企業-クライアントメッセージの処理
私たちのウェブページでは、クライアントに製品に関するいくつかの情報を表示します。製品に関する詳細情報が必要な場合は、サードパーティの会社に連絡して製品コードを記載する必要があります(それ自体は一意ではありませんが、一般的でもありません)。その見返りとして、クライアントはサードパーティ企業から他のコードを受け取ります。このコードは、承認のためにコードを検証するWebページに入力する必要があります。
私たち会社がサードパーティ会社とのやり取りがなかった場合が最善です。純粋な暗号化は、長すぎる文字列を生成するため、画像から外れています。これはSMSで行っているため、コードは短くする必要があります。
私がこれまでに思いついたもの:
すべての製品について、ベース16(0-f)でいくらか一意のコードを生成します(一意であるかどうかは関係ありません)。製品に関する詳細情報が必要なクライアントは、製品コードを記載したSMSをサードパーティ企業に送信します。代わりに、クライアントは同じコードを受け取りますが、数字は乗算され(2倍になる可能性があります)、36進数に変換されます。さらに、コードに最後の文字である制御番号が追加され、コードがLuhnで有効になります。 36進数のアルゴリズム。ユーザーが受信したコードを入力すると、会社はサーバー側で製品コードに対して検証します(Luhnに対して検証し、2で除算して、16進数に戻します)。
これはかなり安全で適切に聞こえますか?2人が通信する必要がない場合に、3人がメッセージを送信する有効な方法ですか?
編集して申し訳ありませんが、最初の投稿を書いたとき、私の心は他の場所にあったに違いありません。