0 Tage Serie
csharp / expert
Snippet

Sichere Schlüsselableitung über PBKDF2 und SHA512

Sicherheit auf Expertenniveau erfordert korrektes Key-Stretching. PBKDF2 mit einer hohen Iterationszahl und SHA512 stellt sicher, dass selbst bei einem Datenleck das Ableiten des ursprünglichen Passworts einen massiven Rechenaufwand erfordert, um sensible Benutzerdaten zu schützen.

snippet.cs
csharp
1
2
3
4
5
6
7
8
9
10
11
12
using System.Security.Cryptography;
byte[] salt = RandomNumberGenerator.GetBytes(32);
int iterations = 600_000; // High iteration count for brute-force resistance
// Derive a 256-bit key from a password
byte[] derivedKey = Rfc2898DeriveBytes.Pbkdf2(
password: "UserSecret123!",
salt: salt,
iterations: iterations,
hashAlgorithm: HashAlgorithmName.SHA512,
outputLength: 32);
Erklärung
1
RandomNumberGenerator.GetBytes(32)
Erzeugt ein kryptographisch starkes Zufalls-Salt, um Rainbow-Table-Angriffe zu verhindern.
2
iterations: 600_000
Definiert den Arbeitsfaktor; höhere Zahlen erhöhen die Zeit, die zum Erraten des Passworts benötigt wird.