Sample code for 30+ languages & platforms
PowerBuilder

PBKDF2 Key Derivation

Demonstrates AES secret key derivation from a password using PBDKF2.

Chilkat PowerBuilder Downloads

PowerBuilder
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