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
(DataFlex) Creates an AES Encrypted Zip with One File UnencryptedDemonstrates how to create an AES encrypted zip, but also containing one file that is not encrypted. The way we do it is to first create an AES encrypted zip in the usual way, and then we append an unecrypted file to it.
Use ChilkatAx-win32.pkg Procedure Test Handle hoZip Boolean iSuccess Variant vSaExclusions Handle hoSaExclusions Boolean iRecurse Boolean iSaveExtraPath String sTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatZip)) To hoZip If (Not(IsComObjectCreated(hoZip))) Begin Send CreateComObject of hoZip End Get ComNewZip Of hoZip "qa_output/aes_with_one_unencrypted.zip" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoZip To sTemp1 Showln sTemp1 Procedure_Return End // Set properties to indicate that the Zip should be // AES encrypted. // A value of 4 indicates WinZip compatible AES encryption. Set ComEncryption Of hoZip To 4 // Key length can be 128, 192, or 256 bits. Set ComEncryptKeyLength Of hoZip To 128 // Set the password for AES encryption: Set ComEncryptPassword Of hoZip To "myPassword" // Exclude the file helloWorld.txt // This file will be added unencrypted to the .zip Get Create (RefClass(cComCkStringArray)) To hoSaExclusions If (Not(IsComObjectCreated(hoSaExclusions))) Begin Send CreateComObject of hoSaExclusions End Get ComAppend Of hoSaExclusions "helloWorld.txt" To iSuccess Get pvComObject of hoSaExclusions to vSaExclusions Send ComSetExclusions To hoZip vSaExclusions Set ComVerboseLogging Of hoZip To True // Add a directory tree to be zipped. Move True To iRecurse // Append from a directory relative to our current working directory. Set ComAppendFromDir Of hoZip To "qa_data/filesToZip" Get ComAppendFiles Of hoZip "*" iRecurse To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoZip To sTemp1 Showln sTemp1 Procedure_Return End Get ComLastErrorText Of hoZip To sTemp1 Showln sTemp1 // Writes qa_output/aes_with_one_unencrypted.zip Get ComWriteZipAndClose Of hoZip To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoZip To sTemp1 Showln sTemp1 Procedure_Return End // ---------------------------------------------- // At this point, we have an encrypted .zip with all // files except for helloWorld.txt. // We'll add helloWorld.txt (unencrypted) to the .zip we just created. // The NewZip method only initializes the Zip object -- it does // not create or write a .zip file. Get ComNewZip Of hoZip "notUsed.zip" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoZip To sTemp1 Showln sTemp1 Procedure_Return End Send ComClear To hoSaExclusions Get pvComObject of hoSaExclusions to vSaExclusions Send ComSetExclusions To hoZip vSaExclusions // No encryption. Set ComEncryption Of hoZip To 0 Set ComAppendFromDir Of hoZip To "qa_data/filesToZip" // Add a reference to a file. This is the file that will // be added to a already-existing .zip. Move False To iSaveExtraPath Get ComAppendOneFileOrDir Of hoZip "helloWorld.txt" iSaveExtraPath To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoZip To sTemp1 Showln sTemp1 Procedure_Return End // Appends the contents of the zip object to the preExisting.zip // zip archive. preExisting.zip is opened, and the files // referenced by this zip object are streamed in, compressed, // and appended to the end of the archive. Get ComQuickAppend Of hoZip "qa_output/aes_with_one_unencrypted.zip" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoZip To sTemp1 Showln sTemp1 Procedure_Return End Showln "Success!" End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.