![]()  | 
  
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
 
      (Go) Streaming Encryption by Encrypting in ChunksEncrypt data in chunks. 
 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. crypt := Crypt2_Ref.html">chilkat.NewCrypt2() crypt.SetCryptAlgorithm("aes") crypt.SetCipherMode("cbc") crypt.SetKeyLength(128) crypt.SetEncodedKey("000102030405060708090A0B0C0D0E0F","hex") crypt.SetEncodedIV("000102030405060708090A0B0C0D0E0F","hex") crypt.SetEncodingMode("hex") txt1 := "The quick brown fox jumped over the lazy dog.\r\n" txt2 := "-\r\n" txt3 := "Done.\r\n" sbEncrypted := StringBuilder_Ref.html">chilkat.NewStringBuilder() // 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.) crypt.SetFirstChunk(true) crypt.SetLastChunk(false) sbEncrypted.Append(*crypt.EncryptStringENC(txt1)) // Encrypt the 2nd chunk crypt.SetFirstChunk(false) crypt.SetLastChunk(false) sbEncrypted.Append(*crypt.EncryptStringENC(txt2)) // 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... crypt.SetFirstChunk(false) crypt.SetLastChunk(false) var i int for i = 0; i <= 4; i++ { sbEncrypted.Append(*crypt.EncryptStringENC(txt1)) sbEncrypted.Append(*crypt.EncryptStringENC(txt2)) } // Now encrypt the last chunk: crypt.SetFirstChunk(false) crypt.SetLastChunk(true) sbEncrypted.Append(*crypt.EncryptStringENC(txt3)) fmt.Println(*sbEncrypted.GetAsString()) // Now decrypt in one call. // (The data we're decrypting is both the first AND last chunk.) crypt.SetFirstChunk(true) crypt.SetLastChunk(true) decryptedText := crypt.DecryptStringENC(*sbEncrypted.GetAsString()) fmt.Println(*decryptedText) // Note: You may decrypt in N chunks by setting the FirstChunk // and LastChunk properties prior to calling the Decrypt* methods crypt.DisposeCrypt2() sbEncrypted.DisposeStringBuilder()  | 
  ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.