Xbase++
Xbase++
PBES2 Password-Based Encryption
See more Encryption Examples
Demonstrates PBES2 encryptionChilkat Xbase++ Downloads
LOCAL oCrypt
LOCAL cPlainText
LOCAL cEncryptedText
LOCAL cDecryptedText
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
oCrypt := CreateObject("Chilkat.Crypt2")
// Set properties for PBES2 encryption:
// When the encryption algorithm is set to "pbes2",
// Chilkat will automatically derive the actual secret key using PBKDF2 and
// the specified paramters: password, salt, iteration count, hash function, and desired key length.
oCrypt:CryptAlgorithm := "pbes2"
oCrypt:PbesPassword := "mySecretPassword"
// Set the underlying PBE algorithm (and key length):
oCrypt:PbesAlgorithm := "aes"
oCrypt:KeyLength := 256
oCrypt:SetEncodedIV("000102030405060708090A0B0C0D0E0F", "hex")
// Give it some salt:
oCrypt:SetEncodedSalt("0102030405060708", "hex")
// A higher iteration count makes the algorithm more
// computationally expensive and therefore exhaustive
// searches (for breaking the encryption) is more difficult:
oCrypt:IterationCount := 1024
// A hash algorithm needs to be set for PBES2:
oCrypt:HashAlgorithm := "sha256"
// Indicate that the encrypted bytes should be returned
// as a hex string:
oCrypt:EncodingMode := "hex"
cPlainText := "To be encrypted."
cEncryptedText := oCrypt:EncryptStringENC(cPlainText)
? cEncryptedText
// Now decrypt:
cDecryptedText := oCrypt:DecryptStringENC(cEncryptedText)
? cDecryptedText
oCrypt:destroy()