Sample code for 30+ languages & platforms
Ruby

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

# 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.

success = zip.OpenZip("something.zip")
if (success != true)
    print zip.lastErrorText() + "\n";
    exit
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
bPwdProt = zip.get_PasswordProtect()
if (bPwdProt)
    print "This zip is password-protected." + "\n";
end

# If the zip is AES encrypted (WinZip compatible) then
# the Encryption property will be equal to 4.
encValue = zip.get_Encryption()
if (encValue == 4)
    print "This zip is AES encrypted." + "\n";
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.CloseZip()