Xbase++
Xbase++
PBKDF2 Key Derivation
Demonstrates AES secret key derivation from a password using PBDKF2.Chilkat Xbase++ Downloads
LOCAL oCrypt
LOCAL cPassword
LOCAL cCharset
LOCAL cHashAlg
LOCAL cSaltHex
LOCAL nIterationCount
LOCAL nOutputBitLen
LOCAL cEnc
LOCAL cHexKey
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
oCrypt := CreateObject("Chilkat.Crypt2")
cPassword := "correcthorsebatterystaple"
// Derive from the utf-8 byte representation of the password.
cCharset := "utf-8"
cHashAlg := "sha256"
oCrypt:EncodingMode := "hex"
cSaltHex := oCrypt:GenRandomBytesENC(16)
nIterationCount := 310000
// Derive a 256-bit key from the password.
nOutputBitLen := 256
// The derived key is returned as a hex or base64 encoded string.
// (Note: The salt argument must be a string that also uses
// the same encoding.)
cEnc := "hex"
cHexKey := oCrypt:Pbkdf2(cPassword, cCharset, cHashAlg, cSaltHex, nIterationCount, nOutputBitLen, cEnc)
? cHexKey
// Sample output:
// 597734C894FF89CFD3B93D925462C24E97724BCB118F6FC919007F5ABC27E768
oCrypt:destroy()