Sample code for 30+ languages & platforms
Swift

Unzip an AES Encrypted Text File directly into a String Variable

See more Zip Examples

A common need is to unzip from an AES encrypted Zip archive directly into a string variable, such that the unencrypted file never resides on disk, even temporarily. This example shows how to do it.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

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

    let zip = CkoZip()!

    // This example opens a WinZip-compatible AES encrypted
    // .zip that contains a single file: hamlet.xml.

    // It decrypts and unzips hamlet.xml directly into a string
    // variable.
    zip.setPassword(password: "secret")
    success = zip.open(zipPath: "qa_data/hamlet.zip")
    if success == false {
        print("\(zip.lastErrorText!)")
        return
    }

    let entry = CkoZipEntry()!
    success = zip.entry(of: "hamlet.xml", entry: entry)
    if success == false {
        print("\(zip.lastErrorText!)")
        return
    }

    // lineEndingBehavior:
    // 0 = leave unchanged.
    // 1 = convert all to bare LF's
    // 2 = convert all to CRLF's
    var lineEndingBehavior: Int = 0
    var srcCharset: String? = "utf-8"
    var xmlText: String? = entry.unzip(toString: lineEndingBehavior, srcCharset: srcCharset)
    print("\(xmlText!)")

}