Sample code for 30+ languages & platforms
Lua

Determine if a Zip is Encrypted or Password-Protected

See more Zip Examples

Determines whether or not a zip archive is AES encrypted or password-protected.

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()

-- An encrypted or password-protected zip can be opened
-- without specifying the password.  However, the contents
-- of the files cannot be unzipped without providing the correct
-- password.

local success = zip:open_zip("something.zip")
if not success then
    print(zip.last_error_text)
    return
end

-- If the zip is password-protected, meaning that it uses
-- the old (insecure) Zip 2.0 encryption, then the
-- PasswordProtect property will be true
local bPwdProt = zip.password_protect
if bPwdProt then
    print("This zip is password-protected.")
end

-- If the zip is AES encrypted (WinZip compatible) then
-- the Encryption property will be equal to 4.
local encValue = zip.encryption
if encValue == 4 then
    print("This zip is AES encrypted.")
end

-- If the Encryption property = 0, then the zip is NOT
-- strong encrypted, and is either password-protected or
-- entirely unencrypted, depending on the value of the
-- PasswordProtect property.

zip:close_zip()