Sample code for 30+ languages & platforms
Perl

Create a WinZip/7-Zip compatible AES Encrypted Zip

See more Zip Examples

Creates a WinZip compatible AES-encrypted .zip archive

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

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

$zip = chilkat::CkZip->new();

$success = $zip->NewZip("/myZipDir/aes.zip");
if ($success != 1) {
    print $zip->lastErrorText() . "\r\n";
    exit;
}

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

# A value of 4 indicates WinZip compatible AES encryption.
$zip->put_Encryption(4);

# Key length can be 128, 192, or 256 bits.
$zip->put_EncryptKeyLength(128);

# Set the password for AES encryption:
$zip->put_EncryptPassword("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 = 1;
$success = $zip->AppendFiles("c:/temp/a/*",$recurse);
if ($success != 1) {
    print $zip->lastErrorText() . "\r\n";
    exit;
}

# Create the encrypted zip ("/myZipDir/aes.zip")
# The path of the zip is what was originally passed
# to the NewZip method (above).  
$success = $zip->WriteZipAndClose();
if ($success != 1) {
    print $zip->lastErrorText() . "\r\n";
    exit;
}

print "Created AES Encrypted Zip." . "\r\n";