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
(PHP Extension) 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.
<?php // The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number. // For example, if using Chilkat v9.5.0.48, then include as shown here: include("chilkat_9_5_0.php"); // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. $crypt = new CkCrypt2(); $crypt->put_CryptAlgorithm('aes'); $crypt->put_CipherMode('cbc'); $crypt->put_KeyLength(256); $crypt->put_Charset('utf-8'); $crypt->put_EncodingMode('base64'); $ivHex = '000102030405060708090A0B0C0D0E0F'; $crypt->SetEncodedIV($ivHex,'hex'); $keyHex = '000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F'; $crypt->SetEncodedKey($keyHex,'hex'); $encryptedStr = $crypt->encryptStringENC('This is the original string'); print $encryptedStr . "\n"; // Let's say we want to URL encode the base64 string.. $crypt->put_CryptAlgorithm('none'); $crypt->put_EncodingMode('url'); $urlEncoded = $crypt->encryptStringENC($encryptedStr); print $urlEncoded . "\n"; // 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 = '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... $crypt->put_CryptAlgorithm('none'); $crypt->put_EncodingMode('url'); $encBase64 = $crypt->decryptStringENC($urlEncoded); print $encBase64 . "\n"; // Now decrypt... $crypt->put_CryptAlgorithm('aes'); $crypt->put_EncodingMode('base64'); $originalStr = $crypt->decryptStringENC($encBase64); print $originalStr . "\n"; ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.