Sample code for 30+ languages & platforms
Go

Create a WinZip/7-Zip compatible AES Encrypted Zip

See more Zip Examples

Creates a WinZip compatible AES-encrypted .zip archive

Chilkat Go Downloads

Go
    success := false

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

    zip := chilkat.NewZip()

    success = zip.NewZip("/myZipDir/aes.zip")
    if success != true {
        fmt.Println(zip.LastErrorText())
        zip.DisposeZip()
        return
    }

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

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

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

    // Set the password for AES encryption:
    zip.SetEncryptPassword("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.)
    recurse := true
    success = zip.AppendFiles("c:/temp/a/*",recurse)
    if success != true {
        fmt.Println(zip.LastErrorText())
        zip.DisposeZip()
        return
    }

    // Create the encrypted zip ("/myZipDir/aes.zip")
    // The path of the zip is what was originally passed
    // to the NewZip method (above).  
    success = zip.WriteZipAndClose()
    if success != true {
        fmt.Println(zip.LastErrorText())
        zip.DisposeZip()
        return
    }

    fmt.Println("Created AES Encrypted Zip.")

    zip.DisposeZip()