2012-02-17 7 views
5

私が取り組んでいるプロジェクトで電子メールアドレスを非公開にしておくために、データベースに保存されているすべての電子メールを暗号化したいと考えています。ただし、Asp.Netメンバーシップ・プロバイダを使用しており、電子メールは表aspnet_MembershipのEmail列にクリアテキストで表示されます。これを達成する方法はありますか?理想的には、簡単な方法です。ApplicationServices DBで電子メールアドレスを暗号化することはできますか?

+1

暗号化については何も簡単です。暗号化自体のためではなく...電子メールを暗号化して、あなたの秘密を守り、鍵を管理する必要があります。どちらかをどうやってやるか考えましたか? –

+0

@EstebanAraya:まあ、私は完璧な解決策はないことを知っていますが、私は単にコードにキーを入れることを計画していました。一旦コンパイルされると、それらを見つけるのは明らかではありません。また、誰かがその人がDLLにアクセスできるデータベースにアクセスできるためではありません。 –

答えて

2

私はカスタムプロバイダを作成し、電子メールアドレスを暗号化するために少量のコードを追加するだけです。

あなたはProviderToolkitSamples.msi

は、それが電子メールを保存しているライン366上のメンバシッププロバイダのためのSQLMembershipProvider.csを使用してダウンロードする場合、彼らはASP.netプロバイダ

http://weblogs.asp.net/scottgu/archive/2006/04/13/442772.aspx

のソースをリリースアドレスは、挿入ストアドプロシージャを呼び出す前に暗号化できます。

また、DBから取得する際にも復号化する必要があります。

ここでは暗号化に関する優れた記事ですが、より安全なようにメールアドレスに塩を含めるようにしています。

http://hectorcorrea.com/blog/Encrypt-and-Decrypt-a-string-in-C-Sharp

役に立てば幸い!

+0

リンクありがとうございます!非常に役立ちます! –

関連する問題