Sample code for 30+ languages & platforms
PureBasic

PBKDF2 - Derive Key from Password

See more Encryption Examples

Demonstrates how to derive a symmetric encryption key from a password using PBKDF2.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkCrypt2.pb"

Procedure ChilkatExample()

    ; This example assumes the Chilkat API to have been previously unlocked.
    ; See Global Unlock Sample for sample code.

    crypt.i = CkCrypt2::ckCreate()
    If crypt.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    pw.s = "password"

    pwCharset.s = "utf-8"

    ; Such as sha256, sha512
    hashAlg.s = "sha256"

    ; 16 bytes
    saltHex.s = "78578E5A5D63CB0668AB39B21C8637FA"

    iterationCount.i = 100000

    ; Derive a 256-bit key from the password.
    outputBitLen.i = 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.)
    enc.s = "hex"

    hexKey.s = CkCrypt2::ckPbkdf2(crypt,pw,pwCharset,hashAlg,saltHex,iterationCount,outputBitLen,enc)

    Debug hexKey

    ; Sample output:
    ; AE96E261E32792D0FD6F0E72F8E872D046F7DB4C1FA7C83892EC73C49F461B70


    CkCrypt2::ckDispose(crypt)


    ProcedureReturn
EndProcedure