PureBasic
PureBasic
Create a WinZip/7-Zip compatible AES Encrypted Zip
See more Zip Examples
Creates a WinZip compatible AES-encrypted .zip archiveChilkat PureBasic Downloads
IncludeFile "CkZip.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
zip.i = CkZip::ckCreate()
If zip.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkZip::ckNewZip(zip,"/myZipDir/aes.zip")
If success <> 1
Debug CkZip::ckLastErrorText(zip)
CkZip::ckDispose(zip)
ProcedureReturn
EndIf
; Set properties to indicate that the Zip should be
; AES encrypted.
; A value of 4 indicates WinZip compatible AES encryption.
CkZip::setCkEncryption(zip, 4)
; Key length can be 128, 192, or 256 bits.
CkZip::setCkEncryptKeyLength(zip, 128)
; Set the password for AES encryption:
CkZip::setCkEncryptPassword(zip, "myPassword")
; Add a directory tree to be zipped. (The files
; are not compressed at this point -- only references
; to the files and directories are added to the zip object.)
recurse.i = 1
success = CkZip::ckAppendFiles(zip,"c:/temp/a/*",recurse)
If success <> 1
Debug CkZip::ckLastErrorText(zip)
CkZip::ckDispose(zip)
ProcedureReturn
EndIf
; Create the encrypted zip ("/myZipDir/aes.zip")
; The path of the zip is what was originally passed
; to the NewZip method (above).
success = CkZip::ckWriteZipAndClose(zip)
If success <> 1
Debug CkZip::ckLastErrorText(zip)
CkZip::ckDispose(zip)
ProcedureReturn
EndIf
Debug "Created AES Encrypted Zip."
CkZip::ckDispose(zip)
ProcedureReturn
EndProcedure