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

ZIP 파일은 압축 파일과 폴더를 단일 컨테이너에 보관하는 데 사용되는 가장 일반적인 유형의 보관 파일입니다. C# 개발자는 .NET 애플리케이션에서 C#을 사용하여 프로그래밍 방식으로 암호화되거나 암호로 보호된 ZIP 아카이브를 쉽게 만들 수 있습니다. 이 기사에서는 C#을 사용하여 암호화된 ZIP 파일을 만드는 방법을 배웁니다.

이 문서에서는 다음 주제를 논의/다룹니다.

암호화된 ZIP 파일을 만드는 C# API

암호화된 ZIP 아카이브를 생성하기 위해 Aspose.ZIP for .NET API를 사용합니다. 파일과 폴더를 압축하고 ZIP 아카이브에 추가할 수 있습니다. 또한 ZIP, TAR, GZIP, BZ2, 7Zip, RAR 등과 같은 지원되는 유형의 아카이브를 압축 해제할 수 있습니다. API는 AES128, AES192 및 AES256과 같은 AES 암호화를 사용하는 사용자 정의 암호 및 기존 암호화 기술을 통해 보호를 제공합니다. .

API의 DLL을 다운로드하거나 NuGet을 사용하여 설치할 수 있습니다.

Install-Package Aspose.ZIP

암호로 보호된 ZIP 파일 만들기

다음 단계에 따라 프로그래밍 방식으로 암호로 보호된 ZIP 아카이브를 쉽게 만들 수 있습니다.

  1. ArchiveEntrySettings 개체를 사용하여 Archive 클래스의 인스턴스를 만듭니다.
  2. TraditionalEncryptionSettings 개체를 사용하여 암호를 설정합니다.
  3. 아카이브에 추가할 입력 파일 경로로 CreatEntry() 메서드를 호출합니다.
  4. 여러 파일을 추가하려면 위의 단계를 반복하십시오.
  5. 출력 파일 경로와 함께 Save() 메서드를 호출하여 출력 파일을 저장합니다.

다음 코드 샘플은 C#을 사용하여 암호로 보호된 ZIP 파일을 만드는 방법을 보여줍니다.

// 아카이브 생성
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 아카이브를 생성, 작성, 추출 또는 업데이트하는 여러 방법을 제공합니다. 이 클래스의 CreateEntry() 메서드는 아카이브 내에 파일의 단일 항목을 만듭니다. 파일 이름과 완전한 파일 경로를 입력 매개변수로 사용합니다. 이 클래스는 스트림 또는 FileInfo에서 파일을 추가하기 위해 오버로드된 CreatEntry() 메서드도 제공합니다. 이 클래스의 Save() 메서드는 ZIP 아카이브를 지정된 파일 경로에 저장합니다.

ArchiveEntrySettings 클래스는 항목을 압축하거나 압축 해제하는 설정을 제공합니다. TraditionalEncryptionSetings 클래스는 기존 ZipCrypto 알고리즘에 대한 설정을 제공합니다. ZIP 암호 보호 알고리즘입니다. 이 클래스의 Password 속성을 사용하면 ZIP 아카이브에 있는 파일 및 폴더의 암호화 또는 암호 해독을 위한 암호를 가져오거나 설정할 수 있습니다.

AES 암호화로 암호화된 ZIP 파일 생성

아래 단계에 따라 프로그래밍 방식으로 AES 암호화로 ZIP 아카이브를 암호화할 수 있습니다.

  1. ArchiveEntrySettings 개체를 사용하여 Archive 클래스의 인스턴스를 만듭니다.
  2. AesEcryptionSettings 클래스를 사용하여 비밀번호를 설정합니다. 암호 문자열과 EncryptionMethod을 생성자에 대한 인수로 전달합니다.
  3. 아카이브에 추가할 입력 파일 경로로 CreatEntry() 메서드를 호출합니다.
  4. 여러 파일을 추가하려면 위의 단계를 반복하십시오.
  5. 출력 파일 경로와 함께 Save() 메서드를 호출하여 출력 파일을 저장합니다.

다음 코드 샘플은 C#을 사용하여 AES 암호화로 암호화된 ZIP 파일을 만드는 방법을 보여줍니다.

// 아카이브 생성
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 암호화 또는 암호 해독 알고리즘에 대한 설정을 제공합니다. AES(Advanced Encryption Standard)는 대칭 암호화 또는 암호 해독 블록 암호 알고리즘입니다.

다음 유형의 암호화 방법을 사용할 수 있습니다.

  • 기존 — 기존 PKWARE 암호화
  • AES128 — 키 길이가 128비트인 고급 암호화 표준
  • AES192 — 키 길이가 192비트인 고급 암호화 표준
  • AES256 — 키 길이가 256비트인 고급 암호화 표준

ZIP 파일의 폴더 암호화

아래 단계에 따라 프로그래밍 방식으로 암호로 보호된 폴더를 ZIP 파일에 추가할 수 있습니다.

  1. ArchiveEntrySettings 개체를 사용하여 Archive 클래스의 인스턴스를 만듭니다.
  2. TraditionalEncryptionSettings 개체를 사용하여 암호를 설정합니다.
  3. 아카이브에 추가할 폴더 경로와 함께 CreatEntries() 메서드를 호출합니다.
  4. 여러 폴더를 추가하려면 위의 단계를 반복하십시오.
  5. 출력 파일 경로와 함께 Save() 메서드를 호출하여 출력 파일을 저장합니다.

다음 코드 샘플은 C#을 사용하여 암호화된 폴더를 ZIP 파일에 추가하는 방법을 보여줍니다.

// 아카이브 생성
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. TraditionalEncryptionSettings와 함께 ArchiveEntrySettings를 사용하여 파일에 대한 암호를 설정합니다.
  4. 아카이브에 다른 파일을 추가하려면 입력 파일 경로로 CreatEntry() 메소드를 호출하십시오.
  5. 파일을 더 추가하려면 위의 단계를 반복하십시오.
  6. 출력 파일 경로와 함께 Save() 메서드를 호출하여 출력 파일을 저장합니다.

다음 코드 샘플은 C#을 사용하여 ZIP 아카이브의 특정 파일을 암호화하는 방법을 보여줍니다.

// 아카이브 생성
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. AesEcryptionSettings와 함께 ArchiveEntrySettings를 사용하여 파일의 비밀번호를 설정하십시오.
  4. 아카이브에 다른 파일을 추가하려면 입력 파일 경로로 CreatEntry() 메소드를 호출하십시오.
  5. TraditionalEncryptionSettings와 함께 ArchiveEntrySettings를 사용하여 파일에 대한 암호를 설정합니다.
  6. 아카이브에 다른 파일을 추가하려면 입력 파일 경로로 CreatEntry() 메소드를 호출하십시오.
  7. 아카이브에 추가할 폴더 경로와 함께 CreateEntries() 메서드를 호출합니다.
  8. 출력 파일 경로와 함께 Save() 메서드를 사용하여 출력 파일을 저장합니다.

다음 코드 샘플은 C#을 사용하여 혼합 암호화 기술로 ZIP 파일을 만드는 방법을 보여줍니다.

// 아카이브 생성
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를 사용해 볼 수 있습니다.

결론

이 문서에서는 C#을 사용하여 암호화된 ZIP 파일을 만드는 방법을 배웠습니다. 또한 프로그래밍 방식으로 암호로 보호된 ZIP 파일을 만드는 방법도 배웠습니다. 또한 ZIP 아카이브의 특정 파일을 암호화하는 방법을 배웠습니다. 또한 암호로 보호된 폴더를 ZIP 파일에 추가하는 방법을 배웠습니다. 이 문서에서는 C#을 사용하여 혼합 암호화 기술로 암호화된 ZIP 파일을 만드는 방법도 설명했습니다. 문서를 사용하여 .NET API용 Aspose.ZIP에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.

또한보십시오