Sample code for 30+ languages & platforms
Perl

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

# 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 != 1) {
    print $zip->lastErrorText() . "\r\n";
    exit;
}

# If the zip is password-protected, meaning that it uses
# the old (insecure) Zip 2.0 encryption, then the
# PasswordProtect property will be 1
$bPwdProt = $zip->get_PasswordProtect();
if ($bPwdProt) {
    print "This zip is password-protected." . "\r\n";
}

# 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." . "\r\n";
}

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