เพิ่มไฟล์หรือโฟลเดอร์เป็น zip-archives โดยใช้ csharp

ไฟล์ ZIP เป็นไฟล์เก็บถาวรประเภททั่วไปที่ใช้เพื่อเก็บไฟล์และโฟลเดอร์ที่บีบอัดไว้ในคอนเทนเนอร์เดียว ในฐานะนักพัฒนา C# คุณสามารถสร้างไฟล์ ZIP ที่เข้ารหัสหรือป้องกันด้วยรหัสผ่านได้อย่างง่ายดายโดยใช้โปรแกรมโดยใช้ C# ในแอปพลิเคชัน .NET ของคุณ ในบทความนี้ คุณจะได้เรียนรู้วิธีสร้างไฟล์ ZIP ที่เข้ารหัสโดยใช้ C#

หัวข้อต่อไปนี้จะกล่าวถึง/ครอบคลุมในบทความนี้:

C# API เพื่อสร้างไฟล์ ZIP ที่เข้ารหัส

สำหรับการสร้างไฟล์เก็บถาวร ZIP ที่เข้ารหัส ฉันจะใช้ Aspose.ZIP for .NET API ช่วยให้คุณสามารถบีบอัดไฟล์และโฟลเดอร์และเพิ่มลงในไฟล์ ZIP นอกจากนี้ยังช่วยให้คุณสามารถขยายขนาดไฟล์เก็บถาวรประเภทที่รองรับ เช่น ZIP, TAR, GZIP, BZ2, 7Zip, RAR เป็นต้น API ให้การป้องกันผ่านรหัสผ่านที่ผู้ใช้กำหนดและเทคนิคการเข้ารหัสแบบดั้งเดิมโดยใช้การเข้ารหัส AES เช่น AES128, AES192 และ AES256 .

คุณสามารถ ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet

Install-Package Aspose.ZIP

สร้างไฟล์ ZIP ที่ป้องกันด้วยรหัสผ่าน

คุณสามารถสร้างไฟล์ ZIP ที่ป้องกันด้วยรหัสผ่านได้อย่างง่ายดายโดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:

  1. สร้างอินสแตนซ์ของคลาส Archive ด้วยอ็อบเจ็กต์ ArchiveEntrySettings
  2. ตั้งรหัสผ่านโดยใช้วัตถุ TraditionalEncryptionSettings
  3. เรียกเมธอด CreatEntry() ด้วยเส้นทางไฟล์อินพุตเพื่อเพิ่มลงในไฟล์เก็บถาวร
  4. ทำซ้ำขั้นตอนข้างต้นเพื่อเพิ่มหลายไฟล์
  5. เรียกใช้เมธอด Save() ด้วยพาธของไฟล์เอาต์พุตเพื่อบันทึกไฟล์เอาต์พุต

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างไฟล์ ZIP ที่ป้องกันด้วยรหัสผ่านโดยใช้ C#

// สร้างที่เก็บถาวร
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");

// บันทึกไฟล์เก็บถาวร
archive.Save("C:\\Files\\password_protcted.zip");
สร้างไฟล์ ZIP ที่ป้องกันด้วยรหัสผ่าน

สร้างไฟล์ ZIP ที่ป้องกันด้วยรหัสผ่าน

คลาส Archive แสดงถึงไฟล์เก็บถาวร ZIP มีหลายวิธีในการสร้าง เขียน แยก หรืออัปเดตไฟล์ ZIP เมธอด CreatEntry() ของคลาสนี้สร้างรายการเดียวของไฟล์ภายในไฟล์เก็บถาวร ใช้ชื่อของไฟล์และเส้นทางไฟล์แบบเต็มเป็นพารามิเตอร์อินพุต คลาสนี้ยังมีเมธอด CreatEntry() ที่โอเวอร์โหลดเพื่อเพิ่มไฟล์จากสตรีมหรือ FileInfo Save() วิธีการของคลาสนี้จะบันทึกไฟล์ ZIP ที่เส้นทางไฟล์ที่ระบุ

คลาส ArchiveEntrySettings จัดเตรียมการตั้งค่าเพื่อบีบอัดหรือขยายรายการ คลาส TraditionalEncryptionSettings ให้การตั้งค่าสำหรับอัลกอริธึม ZipCrypto แบบดั้งเดิม มันเป็นอัลกอริธึมการป้องกันรหัสผ่าน ZIP คุณสมบัติรหัสผ่านของคลาสนี้อนุญาตให้รับหรือตั้งค่ารหัสผ่านสำหรับการเข้ารหัสหรือถอดรหัสไฟล์และโฟลเดอร์ในไฟล์ ZIP

สร้างไฟล์ ZIP ที่เข้ารหัสด้วยการเข้ารหัส AES

คุณสามารถเข้ารหัสไฟล์ ZIP ของคุณด้วยการเข้ารหัส AES โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:

  1. สร้างอินสแตนซ์ของคลาส Archive ด้วยอ็อบเจ็กต์ ArchiveEntrySettings
  2. ตั้งรหัสผ่านโดยใช้คลาส AesEcryptionSettings ส่งผ่านสตริงรหัสผ่านและ EncryptionMethod เป็นอาร์กิวเมนต์ไปยังตัวสร้าง
  3. เรียกเมธอด CreatEntry() ด้วยเส้นทางไฟล์อินพุตเพื่อเพิ่มลงในไฟล์เก็บถาวร
  4. ทำซ้ำขั้นตอนข้างต้นเพื่อเพิ่มหลายไฟล์
  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");

// บันทึกไฟล์เก็บถาวร
archive.Save("C:\\Files\\aes.zip");

คลาส AesEncryptionSettings มีการตั้งค่าสำหรับการเข้ารหัส AES หรือการถอดรหัสอัลกอริธึม Advanced Encryption Standard (AES) คือการเข้ารหัสแบบสมมาตรหรืออัลกอริธึมการเข้ารหัสบล็อกการถอดรหัส

คุณสามารถใช้วิธีการเข้ารหัสประเภทต่อไปนี้:

  • แบบดั้งเดิม — การเข้ารหัส PKWARE แบบดั้งเดิม
  • AES128 — มาตรฐานการเข้ารหัสขั้นสูงที่มีความยาวคีย์ 128 บิต
  • AES192 — มาตรฐานการเข้ารหัสขั้นสูงที่มีความยาวคีย์ 192 บิต
  • AES256 — มาตรฐานการเข้ารหัสขั้นสูงที่มีความยาวคีย์ 256 บิต

เข้ารหัสโฟลเดอร์ในไฟล์ ZIP

คุณสามารถเพิ่มโฟลเดอร์ที่ป้องกันด้วยรหัสผ่านลงในไฟล์ ZIP โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:

  1. สร้างอินสแตนซ์ของคลาส Archive ด้วยอ็อบเจ็กต์ ArchiveEntrySettings
  2. ตั้งรหัสผ่านโดยใช้วัตถุ TraditionalEncryptionSettings
  3. เรียกใช้เมธอด CreatEntries() พร้อมเส้นทางโฟลเดอร์เพื่อเพิ่มลงในไฟล์เก็บถาวร
  4. ทำซ้ำขั้นตอนข้างต้นเพื่อเพิ่มหลายโฟลเดอร์
  5. เรียกใช้เมธอด Save() ด้วยพาธของไฟล์เอาต์พุตเพื่อบันทึกไฟล์เอาต์พุต

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มโฟลเดอร์ที่เข้ารหัสลงในไฟล์ ZIP โดยใช้ C#

// สร้างที่เก็บถาวร
Archive archive = new Archive(new ArchiveEntrySettings(null, new TraditionalEncryptionSettings("123@45")));

// เพิ่มโฟลเดอร์ลงในไฟล์เก็บถาวร
archive.CreateEntries("C:\\Files\\MyFolder");

// บันทึกไฟล์เก็บถาวร
archive.Save("C:\\Files\\password_protcted_folder.zip");

เข้ารหัสไฟล์เฉพาะในไฟล์ ZIP

คุณสามารถเข้ารหัสไฟล์ที่ต้องการในไฟล์ ZIP ได้โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:

  1. สร้างอินสแตนซ์ของคลาส Archive
  2. เรียกเมธอด 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")));

// บันทึกไฟล์เก็บถาวร
archive.Save("C:\\Files\\password_protcted.zip");
เข้ารหัสไฟล์เฉพาะในไฟล์ ZIP

เข้ารหัสไฟล์เฉพาะในไฟล์ ZIP

สร้างไฟล์ ZIP ที่เข้ารหัสด้วยการเข้ารหัสแบบผสม

คุณสามารถสร้างไฟล์ ZIP ที่มีไฟล์และโฟลเดอร์ที่ได้รับการป้องกันด้วยเทคนิคการเข้ารหัสแบบผสมที่แตกต่างกันไปสำหรับแต่ละไฟล์และโฟลเดอร์โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:

  1. สร้างอินสแตนซ์ของคลาส Archive
  2. เรียกเมธอด CreatEntry() ด้วยเส้นทางไฟล์อินพุตเพื่อเพิ่มลงในไฟล์เก็บถาวร
  3. ตั้งรหัสผ่านสำหรับไฟล์โดยใช้ ArchiveEntrySettings ด้วย AesEcryptionSettings
  4. เรียกใช้เมธอด CreatEntry() ด้วยเส้นทางไฟล์อินพุตเพื่อเพิ่มไฟล์อื่นลงในไฟล์เก็บถาวร
  5. ตั้งรหัสผ่านสำหรับไฟล์โดยใช้ ArchiveEntrySettings ด้วย TraditionalEncryptionSettings
  6. เรียกใช้เมธอด CreatEntry() ด้วยเส้นทางไฟล์อินพุตเพื่อเพิ่มไฟล์อื่นลงในไฟล์เก็บถาวร
  7. เรียกเมธอด CreateEntries() พร้อมเส้นทางโฟลเดอร์เพื่อเพิ่มลงในไฟล์เก็บถาวร
  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");

// บันทึกไฟล์เก็บถาวร
archive.Save("C:\\Files\\Mixed.zip");
สร้างไฟล์ ZIP ที่เข้ารหัสด้วยการเข้ารหัสแบบผสม

สร้างไฟล์ ZIP ที่เข้ารหัสด้วยการเข้ารหัสแบบผสม

รับใบอนุญาตฟรี

คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีสร้างไฟล์ ZIP ที่เข้ารหัสโดยใช้ C# คุณได้เรียนรู้วิธีสร้างไฟล์ ZIP ที่ป้องกันด้วยรหัสผ่านโดยทางโปรแกรม นอกจากนี้ คุณได้เรียนรู้วิธีการเข้ารหัสไฟล์เฉพาะในไฟล์ ZIP นอกจากนี้ คุณได้เรียนรู้วิธีเพิ่มโฟลเดอร์ที่ป้องกันด้วยรหัสผ่านลงในไฟล์ ZIP บทความนี้ยังอธิบายวิธีสร้างไฟล์ ZIP ที่เข้ารหัสด้วยเทคนิคการเข้ารหัสแบบผสมโดยใช้ C# คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.ZIP for .NET API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม

ดูสิ่งนี้ด้วย