Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3/4 Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(SQL Server) Create a WinZip/7-Zip compatible AES Encrypted ZipCreates a WinZip compatible AES-encrypted .zip archive
CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @sTmp0 nvarchar(4000) DECLARE @zip int EXEC @hr = sp_OACreate 'Chilkat_9_5_0.Zip', @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 EXEC @hr = sp_OADestroy @zip RETURN END EXEC sp_OAMethod @zip, 'NewZip', @success OUT, '/myZipDir/aes.zip' IF @success <> 1 BEGIN EXEC sp_OAGetProperty @zip, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @zip RETURN END -- Set properties to indicate that the Zip should be -- AES encrypted. -- A value of 4 indicates WinZip compatible AES encryption. EXEC sp_OASetProperty @zip, 'Encryption', 4 -- Key length can be 128, 192, or 256 bits. EXEC sp_OASetProperty @zip, 'EncryptKeyLength', 128 -- Set the password for AES encryption: EXEC sp_OASetProperty @zip, 'EncryptPassword', 'myPassword' -- Add a directory tree to be zipped. (The files -- are not compressed at this point -- only references -- to the files and directories are added to the zip object.) DECLARE @recurse int SELECT @recurse = 1 EXEC sp_OAMethod @zip, 'AppendFiles', @success OUT, 'c:/temp/a/*', @recurse IF @success <> 1 BEGIN EXEC sp_OAGetProperty @zip, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @zip RETURN END -- Create the encrypted zip ("/myZipDir/aes.zip") -- The path of the zip is what was originally passed -- to the NewZip method (above). DECLARE @success int EXEC sp_OAMethod @zip, 'WriteZipAndClose', @success OUT IF @success <> 1 BEGIN EXEC sp_OAGetProperty @zip, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @zip RETURN END PRINT 'Created AES Encrypted Zip.' EXEC @hr = sp_OADestroy @zip END GO |
© 2000-2016 Chilkat Software, Inc. All Rights Reserved.