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

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

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

my $zip = Chilkat2::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.

my $success = $zip->OpenZip('something.zip');
if (!$success) {
    print $zip->LastErrorText, "\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
my $bPwdProt = $zip->PasswordProtect;
if ($bPwdProt) {
    print "This zip is password-protected.\n";
}

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