リモート Web サイトにログインできるプログラムを作成しようとしています。複数のアカウントを持っている人のために、簡単にアカウント データを保存できるようにしていますIsolatedStorage
。私のコードの現在の状態では、パスワードは単に入力TextBox
され、保存されるとすぐに MD5 ハッシュに変換されます。
これを適切なコードにリファクタリングしたいのですが、行き詰まりました。
Aは、およびPasswordBox
を介してデータを公開します。PasswordBox.SecureString
PasswordBox.Password
したがって、保存ボタンをクリックすると、次のようなことを実行します
public void OnClick(...)
{
var password = passwordBox.Password;
// store it somehow (e.g. custom MD5 encryption)
var savePassword = passwordBox.SecureString;
// store this string somehow, but how?
}
ここで私の質問
- プレーン パスワードを に入力するとすぐに
PasswordBox
、var password
メモリに何かが表示されますか? 一部のハッカーは、リフレクション/デバッグを通じてこの単純な値を可視化できますか? これらの文字列を実際に表示するコードはどれですか? そして、私は何を認識する必要がありますか? - の扱い方
SecureString
はPasswordBox
?
私はこれらすべてに少し圧倒されており、アプリケーションでパスワードを適切に処理する方法の本質をまだ理解できていません。
私は、ソリューション全体と実行中のコードを求めているわけではありません。誰かが私を始めてくれるなら、私はただうれしいです. また、エンタープライズ ソリューションは必要ありません。実装が簡単で、労力をできるだけ節約できるものを探しているところです。