Delphi DLL
Delphi DLL
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 DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Zip;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
zip: HCkZip;
bPwdProt: Boolean;
encValue: Integer;
begin
success := False;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
zip := CkZip_Create();
// 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 := CkZip_OpenZip(zip,'something.zip');
if (success <> True) then
begin
Memo1.Lines.Add(CkZip__lastErrorText(zip));
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 True
bPwdProt := CkZip_getPasswordProtect(zip);
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 := CkZip_getEncryption(zip);
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.
CkZip_CloseZip(zip);
CkZip_Dispose(zip);
end;