Sample code for 30+ languages & platforms
Ruby

Create a WinZip/7-Zip compatible AES Encrypted Zip

See more Zip Examples

Creates a WinZip compatible AES-encrypted .zip archive

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

# 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 != true)
    print zip.lastErrorText() + "\n";
    exit
end

# 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 = true
success = zip.AppendFiles("c:/temp/a/*",recurse)
if (success != true)
    print zip.lastErrorText() + "\n";
    exit
end

# 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 != true)
    print zip.lastErrorText() + "\n";
    exit
end

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