Sample code for 30+ languages & platforms
Rust

Create a WinZip/7-Zip compatible AES Encrypted Zip

See more Zip Examples

Creates a WinZip compatible AES-encrypted .zip archive

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();

if zip.new_zip("/myZipDir/aes.zip").is_err() {
    println!("{}", zip.last_error_text());
    return;
}

// Set properties to indicate that the Zip should be
// AES encrypted.

// A value of 4 indicates WinZip compatible AES encryption.
zip.set_encryption(4);

// Key length can be 128, 192, or 256 bits.
zip.set_encrypt_key_length(128);

// Set the password for AES encryption:
zip.set_encrypt_password("myPassword");

// Add a directory tree to be zipped.  (The files
// are not compressed at this point -- only references
// to the files and directories are added to the zip object.)
let recurse = true;
if zip.append_files("c:/temp/a/*", recurse).is_err() {
    println!("{}", zip.last_error_text());
    return;
}

// Create the encrypted zip ("/myZipDir/aes.zip")
// The path of the zip is what was originally passed
// to the NewZip method (above).  
if zip.write_zip_and_close().is_err() {
    println!("{}", zip.last_error_text());
    return;
}

println!("Created AES Encrypted Zip.");