jeff.koloseus wrote:It would be very useful for the APL+Win Zip class to have the option to use 256-bit AES encryption rather than the much weaker standard zip encryption.
The newer AES encryption is required for any sort of real data security, such as to meet HIPAA requirements. It is available in WinZip, etc., as well as ActiveX products, but it would be a great convenience to have it in APL+Win directly.
I think the needed code is available as open source, as evidenced by this excerpt from the WinZip web site:
"To perform AES encryption and decryption, WinZip uses AES functions written by Dr. Brian Gladman. The source code for these functions is available in C/C++ and Pentium family assembler for anyone to use under an open source BSD or GPL license from the AES project page on Dr. Gladman's web site. The AES Coding Tips page also has some information on the use of these functions. WinZip Computing thanks Dr. Gladman for making his AES functions available to anyone under liberal license terms."
The APL+Win documentation mentions that it uses Info-ZIP. Perhaps there is an updated set of code that has the AES functionality.
Thanks.
Tech Support wrote:It is doubtful that the Zip class will be enhanced until Info-ZIP comes out with an official release (not beta) supporting the 256-bit AES encryption.
Davin Church wrote:Tech Support wrote:It is doubtful that the Zip class will be enhanced until Info-ZIP comes out with an official release (not beta) supporting the 256-bit AES encryption.
Any thoughts about providing direct access to 7-Zip via APL as an alternative Zip package?
Tech Support wrote:Do you know if 7-Zip provides any supporting interfaces (ActiveX/COM) that could be accessible to APL+Win? If yes, then that's one possible approach that we would recommend to APL programmers to use.
∇ ZipFileName CreateZip ZipDirectory;⎕cself
[1] ⍝ Ajay Askoolum
[2] ⎕cself←'c' ⎕cse 'Init' 'System'
[3] ←⎕cse 'ExecStmt' 'using System;'
[4] ←⎕cse 'LoadAssembly' 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.IO.Compression.FileSystem.dll'
[5] ⎕cse 'ExecStmt' 'System.IO.Compression.ZipFile.CreateFromDirectory(@{0},@{1});' ZipDirectory ZipFileName
[6] ⍝ ⎕cse 'GetLastError' ⍝ Debugging step, if needed
[7] ⎕cse 'Close'
[8] →0
[9] ⍝ verify path to System.IO.Compression.FileSystem.dll; this file is part of .NET Framework
[10] ⍝ ZipDirectory MUST exist ... check before calling this function
[11] ⍝ ZipFileName must NOT exist already ... check before calling this function
∇
∇ ZipFileName ExpandZip UnZipDirectory;⎕cself
[1] ⍝ Ajay Askoolum
[2] ⎕cself←'c' ⎕cse 'Init' 'System'
[3] ←⎕cse 'ExecStmt' 'using System;'
[4] ←⎕cse 'LoadAssembly' 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.IO.Compression.FileSystem.dll'
[5] ⎕cse 'ExecStmt' 'System.IO.Compression.ZipFile.ExtractToDirectory(@{0},@{1});' ZipFileName UnZipDirectory
[6] ⎕cse 'Close'
[7] →0
[8] ⍝ verify path to System.IO.Compression.FileSystem.dll; this file is part of .NET Framework
[9] ⍝ UnZipDirectory ... must have accesss to location ... last level must NOT exist
[10] ⍝ ZipFileName must be a valis Zip file
∇
I just saw this today. Alas, a quick search failed to locate my workspace - I'll continue to search in backups & older computer.@Ajay, I would be very interested in seeing your APLWIN functions for AES256 encryption/decryption.
How do you (automate) do this from the client session?and look in each one for what you want.
Users browsing this forum: No registered users and 1 guest