* assume Chilkat is globally unblocked LOCAL ckZip AS Chilkat_v9_5_0.ChilkatZip LOCAL ckUnzip AS Chilkat_v9_5_0.ChilkatZip LOCAL ckZipEntry AS Chilkat_v9_5_0.ChilkatZipEntry LOCAL MemZip AS Variant LOCAL MemUnzip AS String m.ckZip = CREATEOBJECT("Chilkat_9_5_0.Zip") * set encryption mode to AES m.ckZip.Encryption = 4 * set key length m.ckZip.EncryptKeyLength = 256 * and the key itself m.ckZip.EncryptPassword = 0h000102030405060708090a0b0c0d0e0f1011121314151601718191a1b1c1d1e1f * create a dummy Zip file IF m.ckZip.NewZip("dummy.zip") != 1 MESSAGEBOX(m.ckZip.LastErrorText) RETURN ENDIF * add some data to the Zip object m.ckZip.AppendString2("entry.txt", "Daniel Gadenne", "utf-8") * and write the object to memory m.MemZip = m.ckZip.WriteToMemory() * build the cursor to store the data CREATE CURSOR ProtectedInfo (id_info Int Autoinc, zipped_info Blob) INSERT INTO ProtectedInfo (zipped_info) VALUES (m.MemZip) BROWSE * zipped_info displays: * 504B030414000100630054676A51000000002C0000000E00000009000B00656E74 * 72792E747874019907000200414503080080F0BA0228E19CAC21E55339A7F42DBD * 3ACDEB32214D881991C41C6591EA8D18F73390FE707334467E16C721504B010214 * 0014000100630054676A51000000002C0000000E00000009000B00000000000100 * 8000000000000000656E7472792E7478740199070002004145030800504B050600 * 00000001000100420000005E0000000000 * destroy the zip, just to make sure everything is lost before unzipping RELEASE m.ckZip * now, to unzip it: m.ckUnzip = CREATEOBJECT("Chilkat_9_5_0.Zip") * config the encryption process (as above) m.ckUnzip.Encryption = 4 m.ckUnzip.EncryptKeyLength = 256 m.ckUnzip.EncryptPassword = 0h000102030405060708090a0b0c0d0e0f1011121314151601718191a1b1c1d1e1f * get zip data from the cursor m.ckUnzip.OpenFromMemory(ProtectedInfo.zipped_info) * fetch the entry m.ckZipEntry = m.ckUnzip.GetEntryByName("entry.txt") * and unzip it into a string m.MemUnzip = m.ckZipEntry.UnzipToString(0, "utf-8") * display the zipped / encrypted and the unzipped / decrypted data MESSAGEBOX(ProtectedInfo.zipped_info) MESSAGEBOX(m.MemUnzip) && displays "Daniel Gadenne">Hi all of you,