Click or drag to resize

PbeKdf2(Int32, Byte, Byte, Int32, HashAlgorithm) Method

Derive a key of any length from a password using the PBKDF2 algorithm from PKCS #5 v2.1.

Namespace: CryptoSysPKI
Assembly: diCrSysPKINet (in diCrSysPKINet.dll) Version: 23.0.0.25611 (23.0.0.0)
Syntax
public static byte[] Kdf2(
	int dkLen,
	byte[] pwdBytes,
	byte[] salt,
	int count,
	HashAlgorithm hashAlg = HashAlgorithm.Sha1
)

Parameters

dkLen  Int32
Required length of key in bytes
pwdBytes  Byte
Password in byte format
salt  Byte
Salt in byte format
count  Int32
Iteration count
hashAlg  HashAlgorithm  (Optional)
Hash algorithm to use in HMAC PRF (default is SHA-1)

Return Value

Byte
Key in byte[] format
Example
C#
// Use PBKDF2 with SHA-256 hash function to derive 192-bit key
// convert password string to bytes
byte[] pwd = System.Text.Encoding.Default.GetBytes("password");
// make a salt
byte[] salt = new byte[] { 0x78, 0x57, 0x8e, 0x5a, 0x5d, 0x63, 0xcb, 0x06 };
int n = 24;
byte[] key = Pbe.Kdf2(n, pwd, salt, 2048, HashAlgorithm.Sha256);
Console.WriteLine("Key({0})={1}", n * 8, key.ToHex());
// Key(192)=97B5A91D35AF542324881315C4F849E327C4707D1BC9D322
See Also