Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
|
Remove Zip EncryptionOpens an encrypted zip archive and rewrites it with no encrypton.
CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @sTmp0 nvarchar(4000) DECLARE @zip int EXEC @hr = sp_OACreate 'Chilkat.Zip2', @zip OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int -- Any string unlocks the component for the 1st 30-days. EXEC sp_OAMethod @zip, 'UnlockComponent', @success OUT, 'Anything for 30-day trial' IF @success <> 1 BEGIN EXEC sp_OAGetProperty @zip, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END -- An encrypted .zip may be "opened" without providing a -- password. However, the contents cannot be unzipped -- without setting the DecryptPassword property. EXEC sp_OAMethod @zip, 'OpenZip', @success OUT, 'myEncrypted.zip' IF @success <> 1 BEGIN EXEC sp_OAGetProperty @zip, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END -- Set the DecryptPassword property: EXEC sp_OASetProperty @zip, 'DecryptPassword', 'myPassword' -- Indicate that when the zip is to be written again, -- it should be neither AES encrypted, or password-protected -- (i.e. older Zip 2.0 encryption) EXEC sp_OASetProperty @zip, 'Encryption', 0 EXEC sp_OASetProperty @zip, 'PasswordProtect', 0 -- Set the filename of the new unencrypted .zip to be written: EXEC sp_OASetProperty @zip, 'FileName', 'unencrypted.zip' -- Write the unencrypted .zip -- What happens during WriteZipAndClose? -- -- The encrypted entries from myEncrypted.zip are streamed in, -- decrypted, and then written out directly into unencrypted.zip -- In other words, internally the component is smart enough -- to stream the data from the existing .zip to the new .zip -- automatically, decrypting in the process.. EXEC sp_OAMethod @zip, 'WriteZipAndClose', @success OUT IF @success <> 1 BEGIN EXEC sp_OAGetProperty @zip, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END PRINT 'OK!' END GO |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.