Sample code for 30+ languages & platforms
Xbase++

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 Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oZip
LOCAL nBPwdProt
LOCAL nEncValue

nSuccess := 0

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

oZip := CreateObject("Chilkat.Zip")

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

nSuccess := oZip:OpenZip("something.zip")
IF (nSuccess != 1)
    ? oZip:LastErrorText
    oZip:destroy()
    RETURN
ENDIF

//  If the zip is password-protected, meaning that it uses
//  the old (insecure) Zip 2.0 encryption, then the
//  PasswordProtect property will be 1
nBPwdProt := oZip:PasswordProtect
IF (nBPwdProt)
    ? "This zip is password-protected."
ENDIF

//  If the zip is AES encrypted (WinZip compatible) then
//  the Encryption property will be equal to 4.
nEncValue := oZip:Encryption
IF (nEncValue == 4)
    ? "This zip is AES encrypted."
ENDIF

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

oZip:CloseZip()

oZip:destroy()