encryption suitable for use by the US Federal Government ile bir sıkıştırılmış sıkıştırma ve şifreleme bileşeni bulmaya çalışıyorum, bu yüzden Zip 2.0 şifrelemeyi kullanamıyorum, AES veya benzeri olması gerekiyor. Zaten SharpZipLib (AES encyrption yapamazsınız) ve Chilkat (AES şifreleme yapabilir, ancak paraya mal olur) buldum. Başka seçenekleri kaçırıyor muyum? Para büyük bir sorun iseAES şifreleme ile Zip yapmak için ucuz/ücretsiz bir .NET kütüphanesi için öneriler?
cevap
DotNetZip'te AES için ne kadar ödeme yapmak istersiniz? ;)
DotNetZip 128 veya 256-bit anahtarlar ile AES şifreleme destekler.http://www.codeplex.com/DotNetZip
örnek kod: DotNetZip tarafından üretilen
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");
}
AES-şifrelenmiş zip dosyaları okumak ve WinZip'in ekstre edildi ve bunun tersi de olabilir.
Ayrıca, şifrelemesiz düzenli zip dosyaları da oluşturabilirsiniz.
Ah, ve ücretsizdir.
sahip bu http://www.codeplex.com/DotNetZip gibi açık kaynak kodlu kütüphane, alabilir? Bu LGPL altında açık kaynak (bu yüzden projenizde kullanılabilir olmalıdır) ve spec göre AES şifreleme ile ZIP destekler.
içine güncellemesini almaya düzenlenmiş, ama ya sürecinin başlatılması birlikte çalışma veya COM/yönetilmeyen kod (komut satırından çalıştırmak için) gerektirir. – MatthewMartin
Aslında, şu anda kullanmak için C# koduna sahip olan LZMA SDK'sı var: http://www.7-zip.org/sdk.html –
Kontrol dışarı Stream Pipeline bu müthiş yazı. Bu, akışları birbirleriyle çok iş parçacıklı bir şekilde birbirine bağlamak için sadece havalı bir yol tanımlamakla kalmaz, kullanılan sıkıştırma ve ardından şifreleme yöntemidir.
Bağlantı artık bozuldu, makale Şubat 2008'de görünüyor MSDN sorunu, Sütun ".NET Matters: Stream Pipeline". http://download.microsoft.com/download/3/A/7/3A7FA450-1F33-41F7-9E6D-3AA95B5A6AEA/MSDNMagazineFebruary2008en-us.chm –
Sen DotNetZipLib için hafif bir alternatiftir #ZipLib (https://icsharpcode.github.io/SharpZipLib/), kullanabilirsiniz.
Bu kod 2-3 hatları AES şifreleme ile HDD üzerindeki bir klasörün sıkıştırmasını azaltan FastZip sınıfını sunmaktadır
. Eğer daha fazla özellik gerekiyorsa https://github.com/icsharpcode/SharpZipLib/wiki/FastZip, #ZipLib biraz daha karmaşık DotNetZipLib daha alır, ama ikincisi oluşturulan bozuk ZIP benim durumumda dosyalar, bu yüzden her durumda SharpZipLib kullanın:
referans yazısını okuyun.
Eğer herhangi bir şifrelemek için kullanılan hangi yöntemi görmek için bir yol var mı Arşiv? WinZip ile oluşturulmuş bir arşivi açarsam bunun gerçekten şifrelenmiş olduğunu görüyorum, fakat hangi algoritmayla (Zip2.0, AES128, AES256, vb.) Bağlantı kurmanın bir yolu yok. – WowtaH
DotNetZip, okuduğunuz zip dosyasında ZipFile.Encryption özelliğini size söyleyecektir. WinZip ile nasıl yapılacağını bilmiyorum. – Cheeso
Bu kütüphaneden gerçekten heyecan duyuyordum, ancak AesCryptoServiceProvider gibi sertifikalı şifreleme sağlayıcılarını yönetilen muadili AesManaged'e karşı kullanmamız gerekiyor. DotNetZip'in, .NET 2: ( –