Sample code for 30+ languages & platforms
Dart

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

Dart
import 'package:chilkat/chilkat.dart';

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

  final zip = 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.

  try {
    zip.openZip('something.zip');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // If the zip is password-protected, meaning that it uses
  // the old (insecure) Zip 2.0 encryption, then the
  // PasswordProtect property will be true
  final bPwdProt = zip.passwordProtect;
  if (bPwdProt) {
    print('This zip is password-protected.');
  }

  // If the zip is AES encrypted (WinZip compatible) then
  // the Encryption property will be equal to 4.
  final encValue = zip.encryption;
  if (encValue == 4) {
    print('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.

  zip.closeZip();
}