(これが重複した投稿である場合は、元の投稿を参照するか、何を検索すればよいか教えてください。何も見つかりませんでした。ありがとうございます!)
したがって、暗号化された値がデータベース行に保存されています。データベース行の列値を取得し、それらをクラス インスタンスに格納したいと考えています。クラスで DECRYPTED値のパブリック プロパティを作成しても安全ですか?
public class *DataRow*
{
public string *DataElement* { get; set; }
public string *Value_Decrypted* { get; set; }
}
外部プロセスは何らかの方法でパブリック プロパティにアクセスできますか? メモリ ハッキングから保護するために、SecureString (またはその他のもの) を使用する必要がありますか? .NET の DataProtection はこの問題に役立ちますか?
これを処理する方法についての実用的なガイド/ウォークスルーはどこかにありますか (コーディングのオーバーヘッドがあまりないことを願っています)。
これらは非常に基本的な質問のように感じます (恥ずかしい)。これらの懸念についての話を聞いたことがありますが、検索しても何も見つかりませんでした。何を検索すればよいかわかりませんでした (この投稿のタイトルにあるもの以外)。
いつものように、どの方向でも大歓迎です。
ありがとうございました!
編集:
回答ありがとうございます。パスワードは悪い例でした-パスワードを解読することは賢明ではなく、通常は不要であることを理解しています。私の質問は、復号化する必要があるデータを処理する方法に関連して、より一般的だと思います。パスワードの代わりに暗号化/復号化された値を参照するように例を更新しました。
一般的な監視プログラムを作成しており、アクセス値、パス、およびコマンドをデータベースに保存する必要があります。インフラストラクチャなどの露出を最小限に抑えるために、これらの値を暗号化するのが最善だと思います.
コンセンサスは、復号化された値を任意の形式、プロパティ、またはその他で保存することは悪い考えであるようです。
暗号化された値のみを保存し、必要なたびに SecureString を使用して復号化することを考えています。
ありがとうございました!