0

双方向アルゴリズムを使用したい (暗号化と復号化の両方を行う必要があることを意味します)。下は私の

シナリオ:

ユーザーが名、姓、電子メールアドレスを入力して登録できるアプリケーションがあります。データがDBに保存されると、登録ユーザーの登録メールアドレスに以下の内容のメールが送信されます

リンクをクリックしてアカウントを構成してください: http://mysitename.com?somepage.aspx?enc=EmailaddresinencyptedFormat

私がやっていることは、登録ユーザーの登録メールアドレスをクエリ文字列に暗号化された形式で添付することです。ユーザーは次のリンクをクリックし、ユーザー名、秘密の質問を入力する構成ページにリダイレクトされます。次に、クエリ文字列内の入力データと暗号化された電子メール アドレスがサービスに渡され、サービスはそれらを復号化し、電子メール アドレスを検証します。

必須:

暗号化と復号化に使用できるアルゴリズムは? このシナリオの最適なアルゴリズムを教えてください。私を助けてください

4

1 に答える 1

2

電子メール アドレスを暗号化する代わりに、十分に大きな 100% ランダムな値 (GUID や UUID など) をデータベースに配置し、サインアップした人の電子メール アドレスのソルト ハッシュと関連付けます。リンクで GUID をユーザーに送信します。次に、彼らが終了したら、2 番目のリンクに記入した電子メールをソルト ハッシュし、それを電子メール アドレスに一致させることができます。

ランダムであるため、ランダムな URL を推測したり、他の人の登録に出くわしたりする可能性はありません。また、データベースが漏洩したとしても、ソルト化されたハッシュ化された電子メールのみが公開され、電子メールに復号化することはできません。

http://www.martinstoeckli.ch/php/php.html#bcryptは、ハッシュとは何か、またその目的についての優れたリソースです。

于 2013-06-28T06:14:42.217 に答える