Sample code for 30+ languages & platforms
Dart

Create a WinZip/7-Zip compatible AES Encrypted Zip

See more Zip Examples

Creates a WinZip compatible AES-encrypted .zip archive

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

  try {
    zip.newZip('/myZipDir/aes.zip');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

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

  // A value of 4 indicates WinZip compatible AES encryption.
  zip.encryption = 4;

  // Key length can be 128, 192, or 256 bits.
  zip.encryptKeyLength = 128;

  // Set the password for AES encryption:
  zip.encryptPassword = '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.)
  final recurse = true;
  try {
    zip.appendFiles('c:/temp/a/*', recurse);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // Create the encrypted zip ("/myZipDir/aes.zip")
  // The path of the zip is what was originally passed
  // to the NewZip method (above).  
  try {
    zip.writeZipAndClose();
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print('Created AES Encrypted Zip.');
}