の基本的な部分を誤解していると思いSecureString
ます。string
が不変であり、パスワードまたは機密データがヒープ上でクリア テキストとして検出されることを理解しています。
私が理解するのに苦労しているのはSecureString
、データベースでハッシュ化されたパスワードを検証する必要があるクライアント アプリケーションでどのように使用すればよいですか?
これが私のコンテキストです:
- WPF クライアント アプリケーションを使用しています。
- ローカル SQL データベースを (クライアントのマシン上に) 持っています
- パスワードはハッシュ化され、データベースに保存されます。
- ユーザーが自分の WPF アプリケーションにログインしようとしています
- PasswordBox コントロールは
SecureString
、プロパティを介してパスワードを格納しますSecurePassword
。
それで?最初に文字列にキャストせずにハッシュするにはどうすればよいですか?SecureString
これまでに受け取ったすべてのアドバイスは、 に変換SecureString
する拡張メソッドを作成しString
、それをハッシュしてから、検証のために db に送信することです。しかし、これは演習全体を打ち負かします!
SecureString
上記のコンテキストでは役に立たないことを受け入れて、プレーンを使用する必要がありstring
ますか?