![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) Streaming Encryption by Encrypting in ChunksEncrypt data in chunks.
LOCAL loCrypt LOCAL lcTxt1 LOCAL lcTxt2 LOCAL lcTxt3 LOCAL loSbEncrypted LOCAL i LOCAL lcDecryptedText * This example requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. loCrypt = CreateObject('Chilkat.Crypt2') loCrypt.CryptAlgorithm = "aes" loCrypt.CipherMode = "cbc" loCrypt.KeyLength = 128 loCrypt.SetEncodedKey("000102030405060708090A0B0C0D0E0F","hex") loCrypt.SetEncodedIV("000102030405060708090A0B0C0D0E0F","hex") loCrypt.EncodingMode = "hex" lcTxt1 = "The quick brown fox jumped over the lazy dog." + CHR(13) + CHR(10) lcTxt2 = "-" + CHR(13) + CHR(10) lcTxt3 = "Done." + CHR(13) + CHR(10) loSbEncrypted = CreateObject('Chilkat.StringBuilder') * Encrypt the 1st chunk: * (don't worry about feeding the data to the encryptor in * exact multiples of the encryption algorithm's block size. * Chilkat will buffer the data.) loCrypt.FirstChunk = 1 loCrypt.LastChunk = 0 loSbEncrypted.Append(loCrypt.EncryptStringENC(lcTxt1)) * Encrypt the 2nd chunk loCrypt.FirstChunk = 0 loCrypt.LastChunk = 0 loSbEncrypted.Append(loCrypt.EncryptStringENC(lcTxt2)) * Now encrypt N more chunks... * Remember -- we're doing this in CBC mode, so each call * to the encrypt method depends on the state from previous * calls... loCrypt.FirstChunk = 0 loCrypt.LastChunk = 0 FOR i = 0 TO 4 loSbEncrypted.Append(loCrypt.EncryptStringENC(lcTxt1)) loSbEncrypted.Append(loCrypt.EncryptStringENC(lcTxt2)) NEXT * Now encrypt the last chunk: loCrypt.FirstChunk = 0 loCrypt.LastChunk = 1 loSbEncrypted.Append(loCrypt.EncryptStringENC(lcTxt3)) ? loSbEncrypted.GetAsString() * Now decrypt in one call. * (The data we're decrypting is both the first AND last chunk.) loCrypt.FirstChunk = 1 loCrypt.LastChunk = 1 lcDecryptedText = loCrypt.DecryptStringENC(loSbEncrypted.GetAsString()) ? lcDecryptedText * Note: You may decrypt in N chunks by setting the FirstChunk * and LastChunk properties prior to calling the Decrypt* methods RELEASE loCrypt RELEASE loSbEncrypted |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.