• ベストアンサー

.NETアプリでパスワード等入力値を保存

.NETのWindowsフォームアプリ等で、入力フィールドの入力値を保存しておき、アプリを再度起動した際に自動セットしたいと思っています。値を保存しておく方法としては、一時フォルダ等にファイルを作って書いておけば実現は簡単とは思ったのですが、パスワード情報のような他人に見られたくない情報も保存したいと考えています。ファイルに書くデータを暗号化することも考えましたが、もしアプリをReflector等でリバースしたら暗号化キーがわかってしまうので安全ではないとも考えました。 .NETアプリでデータを安全に保管かつ復元する方法として何かいい方法はありますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

System.Cryptography.ProtectedData.Protectメソッドの利用が推奨されています。 http://msdn.microsoft.com/ja-jp/library/ms229741.aspx http://msdn.microsoft.com/ja-jp/library/system.security.cryptography.protecteddata.protect.aspx ここで使われているDPAPI自体は,IEなどでも使われている物になります。 ただ,現実的にはこれを使ってもoptionalEntropyさえ分かればアクセスできてしまいますが……。 ローカルプログラムは逆コンパイルして解析してしまえば丸裸,というのは昔から変わっていません。 どこかで割り切った一線は必要になると思います。

tanucojp
質問者

お礼

ありがとうございます、ぜひ参考にさせて頂きます。