
ユーザー名とパスワードをローカルに安全に保管する
ローカル ユーザー ログインを使用して Windows アプリケーションを開発する場合、アカウント詳細のセキュリティを確保することが最も重要です。ユーザー名とパスワードを安全に保存するための推奨方法は次のとおりです:
ユーザー検証のみ:
- 検証のみに Rfc2898DerivedBytes クラス (PBKDF2) を使用します。
- PBKDF2 の結果を元に戻すことはできないため、このメソッドは安全です元のパスワードを取得します。
パスワードの保存について:
- Windows Data Protection API (DPAPI) を利用して、後で使用するためにパスワードを保存します。
- DPAPI は、安全な暗号化のために OS 生成キーと Triple DES 暗号化を利用し、復号化。
DPAPI を使用した C# 実装:
DPAPI を使用してデータを暗号化するには:
1 2 3 4 5 6 7 8 9 10 11 | byte[] plaintext;
byte[] entropy = new byte[20];
using(RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider())
{
rng.GetBytes(entropy);
}
byte[] ciphertext = ProtectedData.Protect(plaintext, entropy,
DataProtectionScope.CurrentUser);
|
ログイン後にコピー
エントロピーと暗号文を安全に保存します。
復号するにはデータ:
1 2 | byte[] plaintext= ProtectedData.Unprotect(ciphertext, entropy,
DataProtectionScope.CurrentUser);
|
ログイン後にコピー
追加のセキュリティ考慮事項:
- パスワードは不変でメモリ ダンプに表示される可能性があるため、文字列として保存することは避けてください。代わりに SecureString または byte[] を使用してください。
- 不要になったパスワードは破棄するかゼロにしてください。
以上がユーザー名とパスワードを Windows アプリケーションでローカルに安全に保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。