Sample code for 30+ languages & platforms
Lianja

Encrypt Already Existing Zip

See more Zip Examples

To encrypt an already existing non-encrypted .zip, the application must open the .zip, set the encryption related properties, and then re-write.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

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

loZip = createobject("CkZip")

// Open an unencrypted .zip
llSuccess = loZip.OpenZip("qa_data/zips/test.zip")
if (llSuccess <> .T.) then
    ? loZip.LastErrorText
    release loZip
    return
endif

// Unzip to a temp directory.
lnNumFilesUnzipped = loZip.Unzip("qa_output/tmp")
if (lnNumFilesUnzipped < 0) then
    ? loZip.LastErrorText
    release loZip
    return
endif

// Clear the zip object.
loZip.NewZip("qa_output/aesTest.zip")

// Indicate that 128-bit AES encryption is to be used when writing the .zip
loZip.Encryption = 4
loZip.EncryptKeyLength = 128

// Set the password.
loZip.EncryptPassword = "secret"

// Append the files.
loZip.AppendFromDir = "qa_output/tmp"
llSuccess = loZip.AppendFiles("*.*",.T.)
if (llSuccess <> .T.) then
    ? loZip.LastErrorText
    release loZip
    return
endif

// Write the .zip and close it.
llSuccess = loZip.WriteZipAndClose()
if (llSuccess <> .T.) then
    ? loZip.LastErrorText
    release loZip
    return
endif

? "Success."


release loZip