ไฟล์ ZIP เป็นไฟล์เก็บถาวรประเภททั่วไปที่ใช้เพื่อเก็บไฟล์และโฟลเดอร์ที่บีบอัดไว้ในคอนเทนเนอร์เดียว ในฐานะนักพัฒนา C# คุณสามารถสร้างไฟล์ ZIP ที่เข้ารหัสหรือป้องกันด้วยรหัสผ่านได้อย่างง่ายดายโดยใช้โปรแกรมโดยใช้ C# ในแอปพลิเคชัน .NET ของคุณ ในบทความนี้ คุณจะได้เรียนรู้วิธีสร้างไฟล์ ZIP ที่เข้ารหัสโดยใช้ C#
หัวข้อต่อไปนี้จะกล่าวถึง/ครอบคลุมในบทความนี้:
- C# API เพื่อสร้างไฟล์ ZIP ที่เข้ารหัส
- สร้างไฟล์ ZIP ที่ป้องกันด้วยรหัสผ่าน
- สร้างไฟล์ ZIP ที่เข้ารหัสด้วยการเข้ารหัส AES
- เข้ารหัสโฟลเดอร์ในไฟล์ ZIP
- เข้ารหัสไฟล์เฉพาะในไฟล์ ZIP
- สร้างไฟล์ ZIP ที่เข้ารหัสด้วยการเข้ารหัสแบบผสม
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 ที่ป้องกันด้วยรหัสผ่านได้อย่างง่ายดายโดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Archive ด้วยอ็อบเจ็กต์ ArchiveEntrySettings
- ตั้งรหัสผ่านโดยใช้วัตถุ TraditionalEncryptionSettings
- เรียกเมธอด CreatEntry() ด้วยเส้นทางไฟล์อินพุตเพื่อเพิ่มลงในไฟล์เก็บถาวร
- ทำซ้ำขั้นตอนข้างต้นเพื่อเพิ่มหลายไฟล์
- เรียกใช้เมธอด 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");
คลาส Archive แสดงถึงไฟล์เก็บถาวร ZIP มีหลายวิธีในการสร้าง เขียน แยก หรืออัปเดตไฟล์ ZIP เมธอด CreatEntry() ของคลาสนี้สร้างรายการเดียวของไฟล์ภายในไฟล์เก็บถาวร ใช้ชื่อของไฟล์และเส้นทางไฟล์แบบเต็มเป็นพารามิเตอร์อินพุต คลาสนี้ยังมีเมธอด CreatEntry() ที่โอเวอร์โหลดเพื่อเพิ่มไฟล์จากสตรีมหรือ FileInfo Save() วิธีการของคลาสนี้จะบันทึกไฟล์ ZIP ที่เส้นทางไฟล์ที่ระบุ
คลาส ArchiveEntrySettings จัดเตรียมการตั้งค่าเพื่อบีบอัดหรือขยายรายการ คลาส TraditionalEncryptionSettings ให้การตั้งค่าสำหรับอัลกอริธึม ZipCrypto แบบดั้งเดิม มันเป็นอัลกอริธึมการป้องกันรหัสผ่าน ZIP คุณสมบัติรหัสผ่านของคลาสนี้อนุญาตให้รับหรือตั้งค่ารหัสผ่านสำหรับการเข้ารหัสหรือถอดรหัสไฟล์และโฟลเดอร์ในไฟล์ ZIP
สร้างไฟล์ ZIP ที่เข้ารหัสด้วยการเข้ารหัส AES
คุณสามารถเข้ารหัสไฟล์ ZIP ของคุณด้วยการเข้ารหัส AES โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Archive ด้วยอ็อบเจ็กต์ ArchiveEntrySettings
- ตั้งรหัสผ่านโดยใช้คลาส AesEcryptionSettings ส่งผ่านสตริงรหัสผ่านและ EncryptionMethod เป็นอาร์กิวเมนต์ไปยังตัวสร้าง
- เรียกเมธอด CreatEntry() ด้วยเส้นทางไฟล์อินพุตเพื่อเพิ่มลงในไฟล์เก็บถาวร
- ทำซ้ำขั้นตอนข้างต้นเพื่อเพิ่มหลายไฟล์
- เรียกใช้เมธอด 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 โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Archive ด้วยอ็อบเจ็กต์ ArchiveEntrySettings
- ตั้งรหัสผ่านโดยใช้วัตถุ TraditionalEncryptionSettings
- เรียกใช้เมธอด CreatEntries() พร้อมเส้นทางโฟลเดอร์เพื่อเพิ่มลงในไฟล์เก็บถาวร
- ทำซ้ำขั้นตอนข้างต้นเพื่อเพิ่มหลายโฟลเดอร์
- เรียกใช้เมธอด 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 ได้โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Archive
- เรียกเมธอด CreatEntry() ด้วยเส้นทางไฟล์อินพุตเพื่อเพิ่มลงในไฟล์เก็บถาวร
- ตั้งรหัสผ่านสำหรับไฟล์โดยใช้ ArchiveEntrySettings ด้วย TraditionalEncryptionSettings
- เรียกใช้เมธอด CreatEntry() ด้วยเส้นทางไฟล์อินพุตเพื่อเพิ่มไฟล์อื่นลงในไฟล์เก็บถาวร
- ทำซ้ำขั้นตอนข้างต้นเพื่อเพิ่มไฟล์
- เรียกใช้เมธอด 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 ที่มีไฟล์และโฟลเดอร์ที่ได้รับการป้องกันด้วยเทคนิคการเข้ารหัสแบบผสมที่แตกต่างกันไปสำหรับแต่ละไฟล์และโฟลเดอร์โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Archive
- เรียกเมธอด CreatEntry() ด้วยเส้นทางไฟล์อินพุตเพื่อเพิ่มลงในไฟล์เก็บถาวร
- ตั้งรหัสผ่านสำหรับไฟล์โดยใช้ ArchiveEntrySettings ด้วย AesEcryptionSettings
- เรียกใช้เมธอด CreatEntry() ด้วยเส้นทางไฟล์อินพุตเพื่อเพิ่มไฟล์อื่นลงในไฟล์เก็บถาวร
- ตั้งรหัสผ่านสำหรับไฟล์โดยใช้ ArchiveEntrySettings ด้วย TraditionalEncryptionSettings
- เรียกใช้เมธอด CreatEntry() ด้วยเส้นทางไฟล์อินพุตเพื่อเพิ่มไฟล์อื่นลงในไฟล์เก็บถาวร
- เรียกเมธอด CreateEntries() พร้อมเส้นทางโฟลเดอร์เพื่อเพิ่มลงในไฟล์เก็บถาวร
- บันทึกไฟล์เอาท์พุตโดยใช้เมธอด 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");
รับใบอนุญาตฟรี
คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีสร้างไฟล์ ZIP ที่เข้ารหัสโดยใช้ C# คุณได้เรียนรู้วิธีสร้างไฟล์ ZIP ที่ป้องกันด้วยรหัสผ่านโดยทางโปรแกรม นอกจากนี้ คุณได้เรียนรู้วิธีการเข้ารหัสไฟล์เฉพาะในไฟล์ ZIP นอกจากนี้ คุณได้เรียนรู้วิธีเพิ่มโฟลเดอร์ที่ป้องกันด้วยรหัสผ่านลงในไฟล์ ZIP บทความนี้ยังอธิบายวิธีสร้างไฟล์ ZIP ที่เข้ารหัสด้วยเทคนิคการเข้ารหัสแบบผสมโดยใช้ C# คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.ZIP for .NET API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม