どの暗号化スキームが短い文字列を返しますか?32文字未満の小さな結果が必要です。また、元の平文に復号化できるようにしたいと思います。目的は、コードが電子メールで送信される電子メール検証です。コードを受け取ると、ユーザーはサイトにログインしてコードを入力します(またはリンクをクリックします)。
編集:検証後、2つの無関係なレコードを関連付ける必要があるため、説明は重要です
ありがとう
どの暗号化スキームが短い文字列を返しますか?32文字未満の小さな結果が必要です。また、元の平文に復号化できるようにしたいと思います。目的は、コードが電子メールで送信される電子メール検証です。コードを受け取ると、ユーザーはサイトにログインしてコードを入力します(またはリンクをクリックします)。
編集:検証後、2つの無関係なレコードを関連付ける必要があるため、説明は重要です
ありがとう
このような検証システムは、暗号化されたデータではなく、ランダムに生成された文字列(アカウントの作成時にデータベースに保存される)を使用します。
復号化する必要がありますか?重複しないランダムな文字列を生成し、そのコードをそのユーザーに割り当てることができます。次に、コードを検索して、データベースからユーザーを取得します。機能を追加して、作成された時間を保存し、24時間で期限切れにすることができます
セキュリティが必要ない場合は、一方向のハッシュ関数で十分です。CRC32は良い選択です。メッセージを送信してから、ユーザーが同じ応答を入力するのを待つことができます。
あなたは暗号化について話しているが、明らかにハッシュ関数が必要である。次に、データベース内の任意のデータモデル(この場合は「暗号化」したいもの)にハッシュを関連付けることができます。ハッシュはKey-Valueストアのキーのように使用され、完全にランダムにすることができます。暗号化された文字列の最終的なサイズは、常に元の文字列のサイズに直接関係しています。そうしないと、ハッシュと暗号化を混同している可能性があります。
したがって、単純なユースケース:
ユーザーがverification.phpコントローラーを実行すると、コントローラーはpending_usersテーブルに$random_keyが存在するかどうかを確認します。見つかった場合は、レコードを削除し、usersテーブルのフラグを変更します(たとえば、active_account = true)。見つからない場合は、エラーがユーザーに返送されます。
これがお役に立てば幸いです、乾杯
あなたが求めていることは不可能です。pkzipやrarのようなプログラムを書いている企業が喜んで殺すのは聖杯です。任意のファイル(数ギガのデータ)をわずか32バイトに圧縮できると想像してください。;)
とにかく、あなたがやろうとしていることは以前に行われたことがあります。電子メールとともにuuidをデータベースに保存する。quidはユーザーにメールで送信され、ユーザーはフォームに入力できます。次に、対応するレコードを見つけるためのデータベースの単純なクエリです。