Sample code for 30+ languages & platforms
B4X

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

B4X
Dim success As Boolean = False

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

Dim zip As ChilkatZip
zip.Initialize("zip")

'  Open an unencrypted .zip
success = zip.OpenZip("qa_data/zips/test.zip")
If success <> True Then
    Log(zip.LastErrorText)
    Return
End If


'  Unzip to a temp directory.
Dim numFilesUnzipped As Int = zip.Unzip("qa_output/tmp")
If numFilesUnzipped < 0 Then
    Log(zip.LastErrorText)
    Return
End If


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

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

'  Set the password.
zip.EncryptPassword = "secret"

'  Append the files.
zip.AppendFromDir = "qa_output/tmp"
success = zip.AppendFiles("*.*", True)
If success <> True Then
    Log(zip.LastErrorText)
    Return
End If


'  Write the .zip and close it.
success = zip.WriteZipAndClose
If success <> True Then
    Log(zip.LastErrorText)
    Return
End If


Log("Success.")