Firefox はパスワードを保存する必要があります。それは完全に安全ではありませんが、それを行う必要があります。それだけです。
私の C# アプリにも同じ要件があります (一種のブラウザーです)。
Firefox は、パスワードをプレーンテキストで保存するのではなく、少し難読化します。
この種の難読化のベスト プラクティスは何ですか?
たとえば、私がよく理解している場合、Firefoxの戦略は次のとおりです。
- アプリのユーザーのソルトを作成する
- パスワードごとに、保存/取得時に対称変換でソルトを使用します
- ソルトにちなんで名付けられたディレクトリにパスワードファイルを保存します。
私の理解は正しいですか?
このためのより良い戦略、または C# ライブラリはありますか?
他のプログラミング言語に関する同様の 質問には満足のいく答えがありません。Firefox ほどではなく、単に rot13 または base64 を示唆しているだけです。これにより、自動化されたマルウェアが未知のソフトウェアで難読化されたパスワードを簡単に識別できるようになります。(一般的なパスワードの base64 値を検索するだけです)
繰り返しますが、攻撃者には抵抗しません。しかし、Firefox が気にするなら、私もそうすべきです。