ProtectedDataの使い方

さて、世の中は選挙の話ばっかりですが、私はあいも変わらずコーディングですよ。
まぁ、今回はやる前から分かりきっている面もありましたからね。>選挙


さて、前回お話していたProtectedDataの使い方ですが、
ようやく分かってきたような気がします。
というか、意外と簡単?


まず、暗号化したい場合は暗号化したいものをバイト配列 srcByte にして、
Protect メソッドをたたくだけ。

Byte[] crypto = ProtectedData.Protect(srdByte, null, DataProtectionScope.CurrentUser);

最後の引数を CurrentUser にすると、そのユーザ以外からは読み込めなくなるらしい。
逆に複合化する場合は、Unprotect メソッドを呼び出す。

Byte[] srcByte = ProtectedData.Unprotect(crypto, null, DataProtectionScope.CurrentUser);

どちらのメソッドも static なので、オブジェクトの生成は必要なし。
第2引数のnullの部分はオプションで暗号化に使用するバイト配列を指定できるので、
後々に「暗号化を解くためのパスワード」とかを入れるといいかもしれない。


んー、なんか実際やってみるとすごく簡単っぽいぞ。
これで暗号化できるなら AesManaged なんかいらないんじゃないか。。。
でもまぁ ProtectedData 暗号化の実装がどうなってるかとかはまだ
分からないので、その辺を考えてから使い方を決めた方がよさそうです。


もう少しこれらの情報がまとまったら、
ローカルでのWebサービスのパスワードの保管方法のまとめでも、
書けたらいいかなと思います。