DataFlex
DataFlex
AES Encrypt String (utf-8 byte representation) and return Base64
See more Encryption Examples
Demonstrates how to AES encrypt the utf-8 byte representation of a string and return in base64 format.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoCrypt
String sIvHex
String sKeyHex
String sEncryptedStr
String sUrlEncoded
String sEncBase64Url
String sEncBase64
String sOriginalStr
// This example requires 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 ComCryptAlgorithm Of hoCrypt To "aes"
Set ComCipherMode Of hoCrypt To "cbc"
Set ComKeyLength Of hoCrypt To 256
Set ComCharset Of hoCrypt To "utf-8"
Set ComEncodingMode Of hoCrypt To "base64"
Move "000102030405060708090A0B0C0D0E0F" To sIvHex
Send ComSetEncodedIV To hoCrypt sIvHex "hex"
Move "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F" To sKeyHex
Send ComSetEncodedKey To hoCrypt sKeyHex "hex"
Get ComEncryptStringENC Of hoCrypt "This is the original string" To sEncryptedStr
Showln sEncryptedStr
// Let's say we want to URL encode the base64 string..
Set ComCryptAlgorithm Of hoCrypt To "none"
Set ComEncodingMode Of hoCrypt To "url"
Get ComEncryptStringENC Of hoCrypt sEncryptedStr To sUrlEncoded
Showln sUrlEncoded
// Sample output:
// q3fmgEqjqa9o//ZS6aPuh4Wtbrrxx/WOIQSKeVnesZg=
// q3fmgEqjqa9o%2F%2FZS6aPuh4Wtbrrxx%2FWOIQSKeVnesZg%3D
// -------------------------------------------------------------------
// Now let's do the reverse...
//
// We start with a string that is the binary encrypted data, base64 encoded, and then URL encoded.
Move "q3fmgEqjqa9o%2F%2FZS6aPuh4Wtbrrxx%2FWOIQSKeVnesZg%3D" To sEncBase64Url
// We'll use the same crypt object. If using a new instance of the crypt object,
// make sure *all* settings are identical: the algorithm, cipher mode, key length, charset, encoding mode, IV, and secret key.
// Decode from URL...
Set ComCryptAlgorithm Of hoCrypt To "none"
Set ComEncodingMode Of hoCrypt To "url"
Get ComDecryptStringENC Of hoCrypt sUrlEncoded To sEncBase64
Showln sEncBase64
// Now decrypt...
Set ComCryptAlgorithm Of hoCrypt To "aes"
Set ComEncodingMode Of hoCrypt To "base64"
Get ComDecryptStringENC Of hoCrypt sEncBase64 To sOriginalStr
Showln sOriginalStr
End_Procedure