Sample code for 30+ languages & platforms
Tcl

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 Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set zip [new_CkZip]

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

set success [CkZip_OpenZip $zip "something.zip"]
if {$success != 1} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    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
set bPwdProt [CkZip_get_PasswordProtect $zip]
if {$bPwdProt} then {
    puts "This zip is password-protected."
}

# If the zip is AES encrypted (WinZip compatible) then
# the Encryption property will be equal to 4.
set encValue [CkZip_get_Encryption $zip]
if {$encValue == 4} then {
    puts "This zip is AES encrypted."
}

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

CkZip_CloseZip $zip

delete_CkZip $zip