Je suis en train de trouver une compression zip et un composant de chiffrement avec encryption suitable for use by the US Federal Government, donc je ne peux pas utiliser le cryptage Zip 2.0, il doit être AES ou similaire. Je l'ai déjà trouvé SharpZipLib (ne peut pas faire AES encyrption) et Chilkat (peut chiffrement AES, mais coûte de l'argent). Ai-je manqué d'autres options?Suggestions pour une librairie .NET bon marché/gratuite pour faire du Zip avec le chiffrement AES?
Suggestions pour une librairie .NET bon marché/gratuite pour faire du Zip avec le chiffrement AES?
Répondre
Combien seriez-vous prêt à payer pour AES dans DotNetZip? ;)
DotNetZip prend en charge le cryptage AES avec des clés de 128 ou 256 bits.
http://www.codeplex.com/DotNetZip
Exemple Code:
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");
}
Les fichiers zip AES-cryptées produites par DotNetZip peut être lu et extrait par WinZip, et vice-versa.
Vous pouvez aussi créer des fichiers zip réguliers sans cryptage.
oh, et il est gratuit.
Si l'argent est un gros problème, vous pouvez prendre une bibliothèque open source comme celui-ci http://www.codeplex.com/DotNetZip, qui supporte maintenant AES
Mise à jour: AES est désormais pris en charge dans DotNetZip. http://DotNetZip.codeplex.com/ – Cheeso
modifié pour prendre en compte la mise à jour –
Qu'en est-7-Zip? Il est open source sous la LGPL (il devrait donc être utilisable dans votre projet) et selon les spécifications il prend en charge le cryptage ZIP avec AES.
J'aime 7-zip, mais il nécessite soit le lancement d'un processus (pour l'exécuter à partir de la ligne de commande) ou COM/code non managé Interop. – MatthewMartin
En fait, ils ont le SDK LZMA qui a maintenant le code C# pour l'utiliser aussi: http://www.7-zip.org/sdk.html –
Découvrez cet article génial sur le Stream Pipeline. Il ne définit pas seulement un moyen sympa de relier les flux les uns aux autres de manière multithread, l'exemple utilisé est la compression suivie d'un chiffrement.
Le lien est cassé maintenant, l'article semble être dans le Février 2008 Problème MSDN, Colonne ".NET Matters: Stream Pipeline". http://download.microsoft.com/download/3/A/7/3A7FA450-1F33-41F7-9E6D-3AA95B5A6AEA/MSDNMagazineFebruary2008-us.chm –
Vous pouvez utiliser #ZipLib (https://icsharpcode.github.io/SharpZipLib/), qui est une alternative légère à DotNetZipLib.
Il offre la classe FastZip, qui réduit la compression d'un dossier sur le disque dur avec le cryptage AES à 2-3 lignes de code.
Voir le wiki de référence: https://github.com/icsharpcode/SharpZipLib/wiki/FastZip
Si vous avez besoin plus de fonctionnalités, #ZipLib devient un peu plus compliqué que DotNetZipLib, mais celui-ci créé fichiers ZIP corrompus dans mon cas, donc j'utiliser SharpZipLib de toute façon.
- 1. Réalisation du cryptage AES-256 avec le .NET Compact Framework
- 2. Librairie graphique GUI pour Schedule/Free .NET
- 3. génération de clé chiffrement AES symbian
- 4. Bibliothèque de chiffrement de fichiers pour .NET
- 5. Quels sont les différents modes de remplissage et modes de chiffrement dans IPhone pour le chiffrement AES?
- 6. Y a-t-il une bibliothèque python de chiffrement AES qui fonctionnera bien avec python 3.0?
- 7. javax.crypto.IllegalBlockSizeException dans le cryptage AES
- 8. Mon chiffrement d'authentification est-il bon?
- 9. Comment puis-je porter une bibliothèque AES Javascript sur .NET pour assurer l'interopérabilité?
- 10. décryptage pdf protégé par aes-256bit en utilisant le bon mot de passe
- 11. Chiffrement d'accès aléatoire avec AES En mode compteur utilisant Fortuna PRNG:
- 12. Comment masquer une clé de chiffrement dans une application .NET?
- 13. Suggestions de scénarios BDD pour une API générique?
- 14. Suggestions pour lire les données d'Excel dans .net C#
- 15. Liaisons WCF client/Liaison des éléments pour le chiffrement
- 16. Comment puis-je définir une connexion réseau pour utiliser la méthode de chiffrement AES sur un appareil Windows Mobile?
- 17. Un bon composant d'affichage PDF pour .net
- 18. Suggestions pour ajouter une capacité de plugin?
- 19. Librairie de compression libre pour C# qui supporte 7zip (LZMA)
- 20. SQL pour faire des suggestions quand aucun résultat trouvé
- 21. Quelle (quelle) bibliothèque Python (pure) utiliser pour le cryptage AES 256?
- 22. Suggestions d'optimisation Javascript pour
- 23. jQuery - suggestions pour une traversion "nextWhile"?
- 24. Suggestions pour Grails .gitignore
- 25. Bibliothèque de chiffrement adaptée à Objective-C
- 26. suggestions pour un concepteur html pour le paquet php eclipse
- 27. Suggestions pour localiser les exceptions
- 28. DNS: Comment faire pour digérer le bon nom de domaine à partir du TLD?
- 29. Quel algorithme de chiffrement est le meilleur pour chiffrer le fichier de session sur le serveur?
- 30. chiffrement avec python
Est-ce que l'un de vous a un moyen de voir quelle méthode a été utilisée pour crypter un archiver? Si j'ouvre une archive générée avec WinZip je vois qu'elle est en effet cryptée, mais je n'ai aucun moyen de dire avec quel algorithme (Zip2.0, AES128, AES256, etc.). – WowtaH
DotNetZip vous le dira avec la propriété ZipFile.Encryption sur un fichier zip que vous avez lu. Je ne sais pas comment le faire avec WinZip. – Cheeso
J'étais vraiment excité à propos de cette bibliothèque, mais nous devons utiliser les fournisseurs de chiffrement certifiés tels que 'AesCryptoServiceProvider' vs la contrepartie gérée' AesManaged'. Je pense que DotNetZip utilise 'RijndaelManaged' pour la rétrocompatibilité avec .NET 2 :( –