Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) AES Encrypt String (utf-8 byte representation) and return Base64Demonstrates how to AES encrypt the utf-8 byte representation of a string and return in base64 format.
IncludeFile "CkCrypt2.pb" Procedure ChilkatExample() ; This example requires 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 CkCrypt2::setCkCryptAlgorithm(crypt, "aes") CkCrypt2::setCkCipherMode(crypt, "cbc") CkCrypt2::setCkKeyLength(crypt, 256) CkCrypt2::setCkCharset(crypt, "utf-8") CkCrypt2::setCkEncodingMode(crypt, "base64") ivHex.s = "000102030405060708090A0B0C0D0E0F" CkCrypt2::ckSetEncodedIV(crypt,ivHex,"hex") keyHex.s = "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F" CkCrypt2::ckSetEncodedKey(crypt,keyHex,"hex") encryptedStr.s = CkCrypt2::ckEncryptStringENC(crypt,"This is the original string") Debug encryptedStr ; Let's say we want to URL encode the base64 string.. CkCrypt2::setCkCryptAlgorithm(crypt, "none") CkCrypt2::setCkEncodingMode(crypt, "url") urlEncoded.s = CkCrypt2::ckEncryptStringENC(crypt,encryptedStr) Debug urlEncoded ; 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. encBase64Url.s = "q3fmgEqjqa9o%2F%2FZS6aPuh4Wtbrrxx%2FWOIQSKeVnesZg%3D" ; 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... CkCrypt2::setCkCryptAlgorithm(crypt, "none") CkCrypt2::setCkEncodingMode(crypt, "url") encBase64.s = CkCrypt2::ckDecryptStringENC(crypt,urlEncoded) Debug encBase64 ; Now decrypt... CkCrypt2::setCkCryptAlgorithm(crypt, "aes") CkCrypt2::setCkEncodingMode(crypt, "base64") originalStr.s = CkCrypt2::ckDecryptStringENC(crypt,encBase64) Debug originalStr CkCrypt2::ckDispose(crypt) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.