Question

Je souhaite compresser certains fichiers (au format ZIP ) et chiffrez-les si possible en utilisant C #. Y a-t-il un moyen de le faire?

Le chiffrement peut-il être effectué dans le cadre de la compression elle-même?

Était-ce utile?

La solution

Pour la compression, consultez le système . IO.Compression et, pour le cryptage, recherchez System.Security.Cryptography .

Autres conseils

Pour la compression Zip, avez-vous vu http://www.icsharpcode.net/OpenSource/SharpZipLib /

Je sais que la question est déjà ancienne, mais je dois ajouter deux centimes.

Tout d'abord, quelques définitions:

  • Zip : format d'archive permettant de regrouper des fichiers et des dossiers dans un seul fichier et, éventuellement, de chiffrer des données.
  • Dégonfler : l'un des algorithmes de compression utilisés dans un fichier Zip pour compresser les données. Le plus populaire.
  • GZip : un seul fichier compressé avec deflate, avec un petit en-tête et un pied de page.

Maintenant, System.IO.Compression ne pas archiver l'archivage Zip. La compression dégonfle et gzip vous permet de compresser un seul bloc de données en un autre bloc de données.

Ainsi, si vous recherchez un format d'archive pouvant regrouper de nombreux fichiers et dossiers, vous avez besoin de bibliothèques Zip telles que:

Si vous n'avez besoin que de compresser et de chiffrer un seul blob de données, consultez System.IO.Compression et System.Security.Cryptography .

La classe GZipStream est une méthode native. gérer la compression.

En ce qui concerne le cryptage, il existe plusieurs manières de le faire, la plupart d'entre elles dans l'espace de noms System.Security. Ils peuvent être effectués en chaîne (chiffrer un flux compressé ou compresser un flux chiffré).

Chilkat fournit des bibliothèques .NET pour la compression et le cryptage.

Je ne sais pas si les étapes peuvent être combinées, mais .NET supporte bien la crypto de base. Voici un article sur celui-ci .

S'ils ne peuvent pas être combinés, effectuez d'abord une compression puis un cryptage. La compression d'un fichier déjà chiffré entraînera des taux de compression médiocres, car une grande partie de la redondance est supprimée.

Voici un sujet utile:

Aide à la création de fichiers Zip de .Net et en les lisant à partir de Java

L'espace de noms System.IO.Packaging vous fournit des classes utiles pour compresser les données au format zip et prise en charge de la gestion des droits.

Vous ne pouvez rien utiliser directement en C #, mais vous pouvez utiliser certaines bibliothèques de J # pour le faire à votre place:

http://msdn.microsoft.com/en-us/magazine /cc164129.aspx

Devriez-vous faire ce que vous voulez?

En ce qui concerne le cryptage, consultez ces liens:

http://www.codeproject.com/KB/security/fileencryptdecrypt.aspx

http://www.obviex.com/samples/EncryptionWithSalt.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top