Sample code for 30+ languages & platforms
Delphi ActiveX

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 Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
zip: TChilkatZip;
bPwdProt: Integer;
encValue: Integer;

begin
success := 0;

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

zip := TChilkatZip.Create(Self);

// 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) then
  begin
    Memo1.Lines.Add(zip.LastErrorText);
    Exit;
  end;

// 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.PasswordProtect;
if (bPwdProt) then
  begin
    Memo1.Lines.Add('This zip is password-protected.');
  end;

// If the zip is AES encrypted (WinZip compatible) then
// the Encryption property will be equal to 4.
encValue := zip.Encryption;
if (encValue = 4) then
  begin
    Memo1.Lines.Add('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.

zip.CloseZip();
end;