Sample code for 30+ languages & platforms
Tcl

Create a WinZip/7-Zip compatible AES Encrypted Zip

See more Zip Examples

Creates a WinZip compatible AES-encrypted .zip archive

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

set zip [new_CkZip]

set success [CkZip_NewZip $zip "/myZipDir/aes.zip"]
if {$success != 1} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    exit
}

# Set properties to indicate that the Zip should be
# AES encrypted.

# A value of 4 indicates WinZip compatible AES encryption.
CkZip_put_Encryption $zip 4

# Key length can be 128, 192, or 256 bits.
CkZip_put_EncryptKeyLength $zip 128

# Set the password for AES encryption:
CkZip_put_EncryptPassword $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.)
set recurse 1
set success [CkZip_AppendFiles $zip "c:/temp/a/*" $recurse]
if {$success != 1} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    exit
}

# Create the encrypted zip ("/myZipDir/aes.zip")
# The path of the zip is what was originally passed
# to the NewZip method (above).  
set success [CkZip_WriteZipAndClose $zip]
if {$success != 1} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    exit
}

puts "Created AES Encrypted Zip."

delete_CkZip $zip