Sample code for 30+ languages & platforms
Rust

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

Rust

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

let zip = chilkat::Zip::new();

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

if zip.open_zip("something.zip").is_err() {
    println!("{}", zip.last_error_text());
    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
let b_pwd_prot = zip.password_protect();
if b_pwd_prot {
    println!("This zip is password-protected.");
}

// If the zip is AES encrypted (WinZip compatible) then
// the Encryption property will be equal to 4.
let enc_value = zip.encryption();
if enc_value == 4 {
    println!("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.close_zip();