Sample code for 30+ languages & platforms
DataFlex

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

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoZip
    Boolean iBPwdProt
    Integer iEncValue
    String sTemp1

    Move False To iSuccess

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

    Get Create (RefClass(cComChilkatZip)) To hoZip
    If (Not(IsComObjectCreated(hoZip))) Begin
        Send CreateComObject of hoZip
    End

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

    Get ComOpenZip Of hoZip "something.zip" To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoZip To sTemp1
        Showln sTemp1
        Procedure_Return
    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
    Get ComPasswordProtect Of hoZip To iBPwdProt
    If (iBPwdProt) Begin
        Showln "This zip is password-protected."
    End

    // If the zip is AES encrypted (WinZip compatible) then
    // the Encryption property will be equal to 4.
    Get ComEncryption Of hoZip To iEncValue
    If (iEncValue = 4) Begin
        Showln "This zip is AES encrypted."
    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.

    Send ComCloseZip To hoZip


End_Procedure