DataFlex
DataFlex
PBES2 Password-Based Encryption
See more Encryption Examples
Demonstrates PBES2 encryptionChilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoCrypt
String sPlainText
String sEncryptedText
String sDecryptedText
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt
If (Not(IsComObjectCreated(hoCrypt))) Begin
Send CreateComObject of hoCrypt
End
// 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.
Set ComCryptAlgorithm Of hoCrypt To "pbes2"
Set ComPbesPassword Of hoCrypt To "mySecretPassword"
// Set the underlying PBE algorithm (and key length):
Set ComPbesAlgorithm Of hoCrypt To "aes"
Set ComKeyLength Of hoCrypt To 256
Send ComSetEncodedIV To hoCrypt "000102030405060708090A0B0C0D0E0F" "hex"
// Give it some salt:
Send ComSetEncodedSalt To hoCrypt "0102030405060708" "hex"
// A higher iteration count makes the algorithm more
// computationally expensive and therefore exhaustive
// searches (for breaking the encryption) is more difficult:
Set ComIterationCount Of hoCrypt To 1024
// A hash algorithm needs to be set for PBES2:
Set ComHashAlgorithm Of hoCrypt To "sha256"
// Indicate that the encrypted bytes should be returned
// as a hex string:
Set ComEncodingMode Of hoCrypt To "hex"
Move "To be encrypted." To sPlainText
Get ComEncryptStringENC Of hoCrypt sPlainText To sEncryptedText
Showln sEncryptedText
// Now decrypt:
Get ComDecryptStringENC Of hoCrypt sEncryptedText To sDecryptedText
Showln sDecryptedText
End_Procedure