我正在尝试找到适合美国联邦政府使用的加密的zip压缩和加密组件,因此我不能使用Zip 2.0加密,它必须是AES等.我已经找到了SharpZipLib(不能做AES加密)和Chilkat(可以做AES加密,但要花钱).我错过了其他选择吗?
您愿意为DotNetZip中的AES支付多少钱?;)
DotNetZip支持AES加密,128位或256位密钥.
http://www.codeplex.com/DotNetZip
示例代码:
using (ZipFile zip = new ZipFile()) { zip.AddFile("ReadMe.txt"); // no password for this entry // use a password for subsequent entries zip.Password= "This.Encryption.is.FIPS.197.Compliant!"; zip.Encryption= EncryptionAlgorithm.WinZipAes256; zip.AddFile("Rawdata-2008-12-18.csv"); zip.Save("Backup-AES-Encrypted.zip"); }
由DotNetZip生成的AES加密的zip文件可以通过WinZip读取和提取,反之亦然.
您也可以只创建常规zip文件而不加密.
哦,它是免费的.
如果资金是一个大问题,你可以采取这样的开源库http://www.codeplex.com/DotNetZip,现在有AES支持
怎么样的7-Zip?它是LGPL下的开源(所以应该可以在你的项目中使用)并且根据规范它支持带有AES加密的ZIP.