PowerBuilder
PowerBuilder
PBKDF2 Key Derivation
Demonstrates AES secret key derivation from a password using PBDKF2.Chilkat PowerBuilder Downloads
integer li_rc
oleobject loo_Crypt
string ls_Password
string ls_Charset
string ls_HashAlg
string ls_SaltHex
integer li_IterationCount
integer li_OutputBitLen
string ls_Enc
string ls_HexKey
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loo_Crypt = create oleobject
li_rc = loo_Crypt.ConnectToNewObject("Chilkat.Crypt2")
if li_rc < 0 then
destroy loo_Crypt
MessageBox("Error","Connecting to COM object failed")
return
end if
ls_Password = "correcthorsebatterystaple"
// Derive from the utf-8 byte representation of the password.
ls_Charset = "utf-8"
ls_HashAlg = "sha256"
loo_Crypt.EncodingMode = "hex"
ls_SaltHex = loo_Crypt.GenRandomBytesENC(16)
li_IterationCount = 310000
// Derive a 256-bit key from the password.
li_OutputBitLen = 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.)
ls_Enc = "hex"
ls_HexKey = loo_Crypt.Pbkdf2(ls_Password,ls_Charset,ls_HashAlg,ls_SaltHex,li_IterationCount,li_OutputBitLen,ls_Enc)
Write-Debug ls_HexKey
// Sample output:
// 597734C894FF89CFD3B93D925462C24E97724BCB118F6FC919007F5ABC27E768
destroy loo_Crypt