![]() |
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
(Node.js) Streaming Encryption by Encrypting in ChunksEncrypt data in chunks.
var os = require('os'); if (os.platform() == 'win32') { var chilkat = require('@chilkat/ck-node23-win64'); } else if (os.platform() == 'linux') { if (os.arch() == 'arm') { var chilkat = require('@chilkat/ck-node23-linux-arm'); } else if (os.arch() == 'arm64') { var chilkat = require('@chilkat/ck-node23-linux-arm64'); } else { var chilkat = require('@chilkat/ck-node23-linux-x64'); } } else if (os.platform() == 'darwin') { var chilkat = require('@chilkat/ck-node23-mac-universal'); } function chilkatExample() { // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. var crypt = new chilkat.Crypt2(); crypt.CryptAlgorithm = "aes"; crypt.CipherMode = "cbc"; crypt.KeyLength = 128; crypt.SetEncodedKey("000102030405060708090A0B0C0D0E0F","hex"); crypt.SetEncodedIV("000102030405060708090A0B0C0D0E0F","hex"); crypt.EncodingMode = "hex"; var txt1 = "The quick brown fox jumped over the lazy dog.\r\n"; var txt2 = "-\r\n"; var txt3 = "Done.\r\n"; var sbEncrypted = new 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.) crypt.FirstChunk = true; crypt.LastChunk = false; sbEncrypted.Append(crypt.EncryptStringENC(txt1)); // Encrypt the 2nd chunk crypt.FirstChunk = false; crypt.LastChunk = 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.FirstChunk = false; crypt.LastChunk = false; var i; for (i = 0; i <= 4; i++) { sbEncrypted.Append(crypt.EncryptStringENC(txt1)); sbEncrypted.Append(crypt.EncryptStringENC(txt2)); } // Now encrypt the last chunk: crypt.FirstChunk = false; crypt.LastChunk = true; sbEncrypted.Append(crypt.EncryptStringENC(txt3)); console.log(sbEncrypted.GetAsString()); // Now decrypt in one call. // (The data we're decrypting is both the first AND last chunk.) crypt.FirstChunk = true; crypt.LastChunk = true; var decryptedText = crypt.DecryptStringENC(sbEncrypted.GetAsString()); console.log(decryptedText); // Note: You may decrypt in N chunks by setting the FirstChunk // and LastChunk properties prior to calling the Decrypt* methods } chilkatExample(); |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.