add-files-or-folders-to-zip-archives-using-csharp

فایل‌های ZIP رایج‌ترین نوع فایل‌های آرشیو هستند که برای نگه‌داری از فایل‌ها و پوشه‌های فشرده در یک ظرف واحد استفاده می‌شوند. به عنوان یک توسعه‌دهنده C#، شما می‌توانید به‌راحتی آرشیوهای ZIP رمزگذاری‌شده یا محافظت‌شده با کلمه عبور را به‌طور برنامه‌نویسی با استفاده از C# در برنامه‌های .NET خود ایجاد کنید. در این مقاله، شما یاد خواهید گرفت که چگونه فایل‌های ZIP رمزگذاری‌شده را با استفاده از C# ایجاد کنید.

موضوعات زیر در این مقاله مورد بحث/پوشش قرار گرفته‌اند:

C# API برای ایجاد فایل‌های ZIP رمزگذاری‌شده

برای ایجاد آرشیوهای رمزنگاری شده ZIP، من از Aspose.ZIP برای API .NET استفاده خواهم کرد. این امکان را به شما می‌دهد که فایل‌ها و پوشه‌ها را فشرده کنید و آنها را به آرشیوهای ZIP اضافه کنید. همچنین به شما امکان می‌دهد آرشیوهای انواع پشتیبانی شده مانند ZIP، TAR، GZIP، BZ2، 7Zip، RAR و غیره را از حالت فشرده خارج کنید. این API حفاظت را از طریق رمزهای عبور تعریف‌شده توسط کاربر و تکنیک‌های رمزنگاری سنتی با استفاده از رمزنگاری AES مانند AES128، AES192 و AES256 ارائه می‌دهد.

شما می‌توانید یا download DLL API را بارگیری کنید یا آن را با استفاده از NuGet نصب کنید.

Install-Package Aspose.ZIP

فایل‌های ZIP محافظت‌شده با پسورد ایجاد کنید

شما می‌توانید به راحتی با دنبال کردن مراحل زیر، آرشیوهای ZIP حفاظت شده با رمز عبور را به صورت برنامه‌نویسی ایجاد کنید:

  1. یک نمونه از کلاس Archive را با شیء ArchiveEntrySettings ایجاد کنید.
  2. رمز عبور را با استفاده از شیء TraditionalEncryptionSettings تنظیم کنید.
  3. متد CreatEntry() را با مسیر فایل ورودی برای افزودن به آرشیو فراخوانی کنید.
  4. Repeat the above step to add multiple files.
  5. متد Save() را با مسیر فایل خروجی فراخوانی کنید تا فایل خروجی را ذخیره کنید.

کد نمونه زیر نشان می‌دهد که چگونه یک فایل ZIP محافظت شده با رمز عبور با استفاده از C# ایجاد کنید.

// create an archive
Archive archive = new Archive(new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("12345")));

// فایل‌ها را به آرشیو اضافه کنید
archive.CreateEntry("sample1.txt", "C:\\Files\\sample1.txt");
archive.CreateEntry("sample2.txt", "C:\\Files\\sample2.txt");

// save the archive
archive.Save("C:\\Files\\password_protcted.zip");
فایل‌های فشرده ZIP با رمز عبور ایجاد کنید

فایل‌های ZIP محافظت‌شده با کلمه عبور بسازید

کلاس Archive نماینده یک فایل آرشیو ZIP است. این کلاس چندین متد برای ایجاد، ترکیب، استخراج یا به‌روزرسانی آرشیوهای ZIP فراهم می‌کند. متد CreatEntry() این کلاس یک ورودی واحد از یک فایل درون آرشیو ایجاد می‌کند. این متد نام فایل و مسیر کامل فایل را به عنوان پارامترهای ورودی می‌گیرد. این کلاس همچنین متدهای overloaded CreatEntry() را برای افزودن فایل‌ها از جریان یا FileInfo فراهم می‌کند. متد Save() این کلاس آرشیو ZIP را در مسیر فایل مشخص‌شده ذخیره می‌کند.

کلاس ArchiveEntrySettings تنظیماتی برای فشرده‌سازی یا از فشرده‌سازی خارج کردن ورودی‌ها را فراهم می‌کند. کلاس TraditionalEncryptionSetings تنظیماتی برای الگوریتم سنتی ZipCrypto فراهم می‌کند. این یک الگوریتم حفاظت از پسورد ZIP است. خصوصیت Password این کلاس امکان دریافت یا تنظیم یک پسورد برای رمزگذاری یا رمزگشایی فایل‌ها و پوشه‌ها در یک آرشیو ZIP را فراهم می‌کند.

فایل‌های ZIP رمزگذاری‌شده با رمزگذاری AES ایجاد کنید

شما می‌توانید آرشیوهای ZIP خود را برنامه‌نویسی با رمزگذاری AES رمزنگاری کنید با دنبال کردن مراحل زیر:

  1. یک نمونه از کلاس Archive را با شیء ArchiveEntrySettings ایجاد کنید.
  2. رمز عبور را با استفاده از کلاس AesEcryptionSettings تنظیم کنید. رشته رمز عبور و EncryptionMethod را به عنوان آرگومان به سازنده ارسال کنید.
  3. متد CreatEntry() را با مسیر فایل ورودی برای افزودن به آرشیو فراخوانی کنید.
  4. Repeat the above step to add multiple files.
  5. متد Save() را با مسیر فایل خروجی فراخوانی کنید تا فایل خروجی ذخیره شود.

کد نمونه زیر نشان می‌دهد که چگونه می‌توان یک فایل ZIP را با استفاده از رمزگذاری AES در C# ایجاد کرد.

// یک آرشیو ایجاد کنید
Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128)));

// فایل‌ها را به آرشیو اضافه کنید
archive.CreateEntry("abc.txt", "C:\\Files\\sample1.txt");

// save the archive
archive.Save("C:\\Files\\aes.zip");

کلاس AesEncryptionSettings تنظیماتی برای الگوریتم رمزنگاری یا رمزگشایی AES ارائه می‌دهد. استاندارد رمزنگاری پیشرفته (AES) یک الگوریتم رمزنگاری یا رمزگشایی بلوکی متقارن است.

شما می‌توانید از انواع روش‌های رمزنگاری زیر استفاده کنید:

  • سنتی — رمزگذاری سنتی PKWARE
  • AES128 — استاندارد رمزنگاری پیشرفته با طول کلید ۱۲۸ بیت
  • AES192 — استاندارد رمزنگاری پیشرفته با طول کلید 192 بیت
  • AES256 — استاندارد رمزنگاری پیشرفته با طول کلید ۲۵۶ بیت

پوشه‌ها را در پرونده‌های ZIP رمزگذاری کنید

شما می‌توانید به‌صورت برنامه‌نویسی پوشه‌های دارای رمز عبور را به فایل‌های ZIP اضافه کنید با دنبال کردن مراحل زیر:

  1. یک نمونه از کلاس Archive را با شیء ArchiveEntrySettings ایجاد کنید.
  2. رمز عبور را با استفاده از شیء TraditionalEncryptionSettings تنظیم کنید.
  3. Call the CreatEntries() method with the folder path to add to the archive.
  4. این مرحله را دوباره تکرار کنید تا پوشه‌های متعدد را اضافه کنید.
  5. متد Save() را با مسیر فایل خروجی فراخوانی کنید تا فایل خروجی را ذخیره کنید.

کد نمونه زیر نشان می‌دهد که چگونه یک پوشه رمزگذاری‌شده به فایل ZIP با استفاده از C# اضافه کنیم.

// create an archive
Archive archive = new Archive(new ArchiveEntrySettings(null, new TraditionalEncryptionSettings("123@45")));

// فولدر را به آرشیو اضافه کن
archive.CreateEntries("C:\\Files\\MyFolder");

// save the archive
archive.Save("C:\\Files\\password_protcted_folder.zip");

فایل‌های خاص را در بایگانی‌های ZIP رمزگذاری کنید

شما می‌توانید فایل‌های خاص را در آرشیوهای ZIP به صورت برنامه‌نویسی رمزگذاری کنید با دنبال کردن مراحل زیر:

  1. یک نمونه از کلاس Archive ایجاد کنید.
  2. Call the CreatEntry() متد با مسیر فایل ورودی برای افزودن به بایگانی.
  3. رمز عبور را برای فایل با استفاده از ArchiveEntrySettings و TraditionalEncryptionSettings تنظیم کنید.
  4. متد CreatEntry() را با مسیر فایل ورودی فراخوانی کنید تا فایل دیگری به آرشیو اضافه کنید.
  5. تکرار مراحل بالا برای افزودن فایل‌های بیشتر.
  6. متد Save() را با مسیر فایل خروجی برای ذخیره فایل خروجی صدا بزنید.

کد نمونه زیر نشان می‌دهد که چگونه فایل‌های خاص را در آرشیو ZIP با استفاده از C# رمزنگاری کنید.

// یک آرشیو ایجاد کنید
Archive archive = new Archive();

// فایل‌ها را به آرشیو اضافه کنید
archive.CreateEntry("sample1.txt", "C:\\Files\\sample1.txt");
archive.CreateEntry("sample2.txt", "C:\\Files\\sample2.txt", false, new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("123@abc")));

// save the archive
archive.Save("C:\\Files\\password_protcted.zip");
فایل‌های خاص را در آرشیوهای ZIP رمزگذاری کنید

فایل‌های مشخص را در آرشیوهای ZIP رمزگذاری کنید

فایل‌های ZIP رمزگذاری شده با رمزگذاری ترکیبی ایجاد کنید

شما می‌توانید آرشیوهای ZIP حاوی فایل‌ها و پوشه‌هایی که با تکنیک‌های رمزگذاری مختلط برای هر فایل و پوشه محافظت شده‌اند، به‌صورت برنامه‌نویسی با دنبال کردن مراحل زیر ایجاد کنید:

  1. یک نمونه از کلاس Archive ایجاد کنید.
  2. Call the CreatEntry() متد با مسیر فایل ورودی برای افزودن به بایگانی.
  3. رمز عبور برای فایل را با استفاده از ArchiveEntrySettings و AesEcryptionSettings تنظیم کنید.
  4. متد CreatEntry() را با مسیر فایل ورودی فراخوانی کنید تا فایل دیگری به آرشیو اضافه کنید.
  5. رمز عبور را برای فایل با استفاده از ArchiveEntrySettings و TraditionalEncryptionSettings تنظیم کنید.
  6. Call the CreatEntry() method with the input file path to add another file to the archive.
  7. Call the CreateEntries() method with the folder path to add to the archive.
  8. خروجی فایل را با استفاده از Save() روش با مسیر فایل خروجی ذخیره کنید.

کد نمونه زیر نشان‌دهنده چگونگی ایجاد یک فایل ZIP با تکنیک‌های رمزنگاری مختلط با استفاده از C# است.

// یک آرشیو ایجاد کنید
Archive archive = new Archive();

// فایل را با رمزگذاری AES به آرشیو اضافه کنید
archive.CreateEntry("sample1.txt", "C:\\Files\\sample1.txt", false, new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128)));

// فایل با رمزنگاری سنتی به بایگانی اضافه کنید
archive.CreateEntry("sample2.txt", "C:\\Files\\sample2.txt", false, new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("321")));

// فایل بدون رمزگذاری را به آرشیو اضافه کنید.
archive.CreateEntry("sample3.txt", "C:\\Files\\sample2.txt");

// اضافه کردن پوشه بدون رمزنگاری به آرشیو
archive.CreateEntries("C:\\Files\\MyFolder");

// save the archive
archive.Save("C:\\Files\\Mixed.zip");
فایل‌های ZIP رمزگذاری‌شده با رمزگذاری مخلوط ایجاد کنید

فایل ZIP رمزنگاری شده با رمزنگاری مخلوط ایجاد کنید

دریافت یک مجوز رایگان

شما می‌توانید API را بدون محدودیت‌های ارزیابی امتحان کنید با درخواست یک مجوز موقت رایگان.

نتیجه گیری

در این مقاله، شما یاد گرفته‌اید که چگونه فایل‌های ZIP رمزنگاری شده را با استفاده از C# ایجاد کنید. همچنین یاد گرفته‌اید که چگونه به‌طور برنامه‌نویسی یک فایل ZIP محافظت‌شده با رمز عبور ایجاد کنید. علاوه بر این، شما یاد گرفته‌اید که چگونه فایل‌های خاصی را در بایگانی‌های ZIP رمزگذاری کنید. علاوه بر این، شما یاد گرفته‌اید که چگونه پوشه‌های محافظت‌شده با رمز عبور را به فایل‌های ZIP اضافه کنید. این مقاله همچنین توضیح داد که چگونه یک فایل ZIP با استفاده از تکنیک‌های رمزنگاری ترکیبی ایجاد کنید. شما می‌توانید درباره Aspose.ZIP برای API .NET با استفاده از documentation بیشتر بیاموزید. در صورت بروز هرگونه ابهام، لطفاً دریغ نکنید و با ما تماس بگیرید در forum.

همچنین ببینید