
C#에서 암호를 사용하여 파일을 압축하는 방법
ZIP 파일은 데이터를 압축하여 보관하는 데 널리 사용되며, 이를 통해 대량의 파일 세트를 전송하고 저장하는 것이 용이합니다. 그러나 추가 보안이 필요한 시나리오도 존재하며, 이는 비밀번호로 보호된 ZIP 파일의 중요성을 높입니다. 비밀번호 보호는 승인된 사용자만 ZIP 아카이브의 내용을 액세스하고 추출할 수 있도록 하여 민감한 데이터에 추가 보안 계층을 제공합니다.
이 글에서는 C#과 IronZIP 라이브러리를 사용하여 비밀번호로 보호된 ZIP 파일을 만드는 방법을 탐구할 것입니다. IronZIP는 .NET 애플리케이션에서 ZIP 파일과 작업하는 과정을 간소화하는 강력한 C# ZIP 아카이브 라이브러리입니다.
C#에서 비밀번호 보호가 있는 ZIP 파일 생성 방법
- Visual Studio에 C# 프로젝트 생성
- NuGet 패키지 매니저에서 IronZIP 라이브러리 설치
IronZipArchive클래스를 사용하여 빈 ZIP 아카이브 객체를 생성Encrypt메소드를 사용하여 비밀번호 보호 추가Add메소드를 사용하여 아카이브 객체에 파일 추가SaveAs메소드를 사용하여 ZIP 아카이브 내보내기
IronZIP 라이브러리 소개

IronZIP는 .NET에서 아카이브를 생성, 읽기, 추출할 수 있도록 설계된 선도적인 C# ZIP 아카이브 라이브러리입니다. 개발자가 아카이브 관리 기능을 .NET 프로젝트에 쉽게 통합할 수 있도록 사용자 친화적인 API를 제공합니다. ZIP, TAR, GZIP, BZIP2를 포함한 여러 아카이브 형식을 지원하여 쉽게 ZIP 파일을 다룰 수 있도록 포괄적인 솔루션을 제공합니다.
IronZIP의 상세 기능
호환성
- .NET 8, 7, 6, 5, Core, Standard, Framework을 지원합니다.
- C#, VB.NET, F# 언어와 호환됩니다.
- Windows, Linux, Mac, iOS, Android, Docker, Azure, AWS에 대한 크로스 플랫폼 지원.
- Microsoft Visual Studio와 JetBrains ReSharper & Rider와 같은 인기 IDE와 통합.
아카이브 생성 및 편집
- ZIP, TAR, GZIP, BZIP2 아카이브 형식을 지원합니다.
- ZIP 파일을 생성하고, 가져오고, 내보냅니다.
- 전통적, AES128 또는 AES256 암호화 설정을 사용하여 ZIP 파일의 암호 보호를 제공합니다.
- 9단계의 맞춤 압축을 지원합니다. 최고의 크기 축소를 제공합니다.
- 아카이브 내의 파일 항목 관리, 추가, 추출 및 삭제를 포함합니다.
설치
- NuGet 패키지 관리자 또는 패키지 관리자 콘솔을 통한 빠르고 쉬운 설치.
- 안전한 바이너리 인증을 위한 DigiCert 서명된 바이너리와의 통합.
Visual Studio에서 C# 콘솔 프로젝트를 생성하는 단계
Visual Studio에서 C# 콘솔 프로젝트를 만들고 IronZIP을 사용하여 ZIP 파일을 암호 보호하는 단계를 안내합니다.
-
Visual Studio를 엽니다.
-
새 C# 콘솔 애플리케이션 프로젝트를 만듭니다.
-
프로젝트 이름을 지정하고 위치를 선택합니다.

-
추가 정보를 선택하여 최신 .NET Framework 버전을 선택합니다. IronZIP는 최신 8.0 .NET Framework을 지원합니다.
-
"Create"를 클릭하여 프로젝트를 생성합니다.
IronZIP 설치
프로젝트에서 IronZIP을 사용하려면 라이브러리를 설치해야 합니다. 이는 NuGet 패키지 관리자 또는 패키지 관리자 콘솔을 통해 수행할 수 있습니다.
NuGet 패키지 관리자 사용
- 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하십시오.
- 'NuGet 패키지 관리...'를 선택합니다.
- 'IronZIP'을 검색하고 '설치'를 클릭합니다.

패키지 매니저 콘솔 사용하기
-
패키지 관리자 콘솔을 엽니다.
-
다음 명령을 실행합니다:
ZIP 파일 암호 보호 단계
이제 IronZIP이 설치되었으므로 라이브러리를 사용하여 ZIP 파일을 암호 보호할 수 있습니다.
필요한 라이브러리 가져오기
using IronZip;
using IronZip.Enum;Imports IronZip
Imports IronZip.Enum다음 줄들은 IronZIP 라이브러리에서 필요한 네임스페이스를 임포트합니다: IronZip는 주요 클래스와 기능을 포함하고, IronZip.Enum는 라이브러리에서 사용되는 열거형을 포함합니다.
주 프로그램 클래스
class Program
{
static void Main()
{
// Code execution starts here
}
}Friend Class Program
Shared Sub Main()
' Code execution starts here
End Sub
End Class이것은 Main 메소드로 프로그램의 메인 클래스입니다. 코드 실행은 여기에서 시작됩니다.
빈 ZIP 아카이브 생성
using (var archive = new IronZipArchive(9))
{
// Code within the 'using' block
}Using archive = New IronZipArchive(9)
' Code within the 'using' block
End Usingusing 문장은 사용 후 IronZipArchive 객체가 제대로 처리되도록 보장합니다. 최고 수준의 압축 레벨(9)로 IronZipArchive의 새로운 인스턴스를 생성합니다.
ZIP 아카이브 암호 보호
다음 단일 코드 줄은 암호 보호를 ZIP 아카이브에 추가합니다:
archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional);archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional)Encrypt 메소드는 archive 객체에서 호출되어 ZIP 파일을 비밀번호로 보호합니다. 여기에는 두 개의 매개변수가 필요합니다: 비밀번호 문자열 ("P@ssw0rd") 및 암호화 방법 (EncryptionMethods.Traditional).
IronZIP는 또한 보다 안전하고 ZIP 파일의 조작을 방지하는 AES128 및 AES256 고급 암호 보호 기능도 제공합니다.
ZIP 아카이브에 파일 추가
archive.Add("./assets/file1.txt");
archive.Add("./assets/image1.png");archive.Add("./assets/file1.txt")
archive.Add("./assets/image1.png")Add 메소드는 ZIP 아카이브에 파일을 추가하는 데 사용됩니다. 이 예에서는 텍스트 파일 하나와 이미지 파일 하나 (file1.txt 및 image1.png)가 "./assets/" 디렉토리에 있는 아카이브에 추가됩니다.
다음은 추가할 파일입니다:

ZIP 아카이브 내보내기
archive.SaveAs("output.zip");archive.SaveAs("output.zip")SaveAs 메소드는 ZIP 아카이브를 내보내는 데 호출됩니다. 출력 파일 이름은 "output.zip"으로 지정됩니다. 지정한 내용과 암호로 암호 보호 ZIP 파일을 만듭니다.
코드 예제 페이지를 방문하여 IronZIP를 사용한 C#에서 생성, 읽기, 추출 및 기타 ZIP 파일 관련 작업에 대해 더 알아보세요.
더 나은 제어를 위해 문자열 경로와 암호 속성을 분리하여 전체 소스 코드를 제공합니다:
using IronZip;
using IronZip.Enum;
class Program
{
static void Main()
{
// Define password and file paths for the ZIP archive
string password = "P@ssw0rd";
string filename = "./assets/file1.txt";
string imagename = "./assets/image1.png";
// Create a new ZIPArchive with the highest compression level
using (var archive = new IronZipArchive(9))
{
// Add Password to protect the ZIP (Support AES128 & AES256)
archive.Encrypt(password, EncryptionMethods.Traditional);
// Add files to the archive
archive.Add(filename);
archive.Add(imagename);
// Export the Encrypted ZIP file archive
archive.SaveAs("output.zip");
}
}
}Imports IronZip
Imports IronZip.Enum
Module Program
Sub Main()
' Define password and file paths for the ZIP archive
Dim password As String = "P@ssw0rd"
Dim filename As String = "./assets/file1.txt"
Dim imagename As String = "./assets/image1.png"
' Create a new ZIPArchive with the highest compression level
Using archive As New IronZipArchive(9)
' Add Password to protect the ZIP (Support AES128 & AES256)
archive.Encrypt(password, EncryptionMethods.Traditional)
' Add files to the archive
archive.Add(filename)
archive.Add(imagename)
' Export the Encrypted ZIP file archive
archive.SaveAs("output.zip")
End Using
End Sub
End Module출력
프로그램을 실행한 후, 프로젝트 디렉토리에 특정 파일이 포함된 'output.zip'이라는 암호 보호 단일 파일이 생깁니다.

결론
이 기사에서는 암호 보호 ZIP 파일의 중요성을 탐구하고 C# 프로젝트에서 ZIP 아카이브를 처리하는 강력한 솔루션으로 IronZIP 라이브러리를 소개했습니다. IronZIP의 호환성, 아카이브 생성, 편집 기능 및 쉬운 설치 단계를 포함한 자세한 기능을 다뤘습니다. 파일이 조작되지 않도록 전통적 및 고급 암호화 방식이 마련되어 있습니다. 마지막으로, Visual Studio에서 C# 콘솔 프로젝트를 생성, IronZIP 설치, ZIP 파일 암호 보호 단계를 안내했습니다.
IronZIP는 C# 애플리케이션에서 ZIP 파일을 다루는 과정을 단순화하여 개발자에게 아카이브 관리 및 보안을 위한 견고한 도구 세트를 제공합니다. 프로젝트에 IronZIP을 통합하여 ZIP 아카이브의 민감한 정보를 처리할 때 데이터 보호를 강화할 수 있습니다. IronZIP 및 그 기능에 대한 자세한 정보를 원하시면 공식 문서 페이지를 방문하세요.
IronZIP는 장기 사용을 위한 무료 체험판을 제공합니다. 그의 라이트 패키지는 $999부터 시작합니다.

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.
관련 기사


