Sample code for 30+ languages & platforms
Lua

Create a WinZip/7-Zip compatible AES Encrypted Zip

See more Zip Examples

Creates a WinZip compatible AES-encrypted .zip archive

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local zip = chilkat.Zip.new()

local success = zip:new_zip("/myZipDir/aes.zip")
if not success then
    print(zip.last_error_text)
    return
end

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

-- A value of 4 indicates WinZip compatible AES encryption.
zip.encryption = 4

-- Key length can be 128, 192, or 256 bits.
zip.encrypt_key_length = 128

-- Set the password for AES encryption:
zip.encrypt_password = "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.)
local recurse = true
success = zip:append_files("c:/temp/a/*", recurse)
if not success then
    print(zip.last_error_text)
    return
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:write_zip_and_close()
if not success then
    print(zip.last_error_text)
    return
end

print("Created AES Encrypted Zip.")