푸터 콘텐츠로 바로가기
IRONZIP 사용

C#에서 암호를 사용하여 파일을 압축하는 방법

ZIP 파일은 데이터를 압축하여 보관하는 데 널리 사용되며, 이를 통해 대량의 파일 세트를 전송하고 저장하는 것이 용이합니다. 그러나 추가 보안이 필요한 시나리오도 존재하며, 이는 비밀번호로 보호된 ZIP 파일의 중요성을 높입니다. 비밀번호 보호는 승인된 사용자만 ZIP 아카이브의 내용을 액세스하고 추출할 수 있도록 하여 민감한 데이터에 추가 보안 계층을 제공합니다.

이 글에서는 C#과 IronZIP 라이브러리를 사용하여 비밀번호로 보호된 ZIP 파일을 만드는 방법을 탐구할 것입니다. IronZIP는 .NET 애플리케이션에서 ZIP 파일과 작업하는 과정을 간소화하는 강력한 C# ZIP 아카이브 라이브러리입니다.

C#에서 비밀번호 보호가 있는 ZIP 파일을 만드는 방법

  1. Visual Studio에 C# 프로젝트 생성
  2. NuGet 패키지 매니저에서 IronZIP 라이브러리 설치
  3. IronZipArchive 클래스를 사용하여 빈 ZIP 아카이브 객체를 만듭니다
  4. Encrypt 메소드를 사용하여 암호 보호를 추가합니다
  5. Add 메소드를 사용하여 아카이브 객체에 파일을 추가합니다
  6. SaveAs 메소드를 사용하여 ZIP 아카이브를 내보냅니다

IronZIP 라이브러리 소개

C#에서 암호로 파일 압축하는 방법: 그림 1 - 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 파일을 암호 보호하는 단계를 안내합니다.

  1. Visual Studio를 엽니다.
  2. 새 C# 콘솔 애플리케이션 프로젝트를 만듭니다.
  3. 프로젝트 이름을 지정하고 위치를 선택합니다.

C#에서 암호로 파일 압축하는 방법: 그림 2 - 프로젝트 이름 및 위치 설정

  1. 추가 정보를 선택하여 최신 .NET Framework 버전을 선택합니다. IronZIP는 최신 8.0 .NET Framework을 지원합니다.
  2. "Create"를 클릭하여 프로젝트를 생성합니다.

IronZIP 설치

프로젝트에서 IronZIP을 사용하려면 라이브러리를 설치해야 합니다. 이는 NuGet 패키지 관리자 또는 패키지 관리자 콘솔을 통해 수행할 수 있습니다.

NuGet 패키지 관리자 사용

  1. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하십시오.
  2. 'NuGet 패키지 관리...'를 선택합니다.
  3. 'IronZip'을 검색하고 '설치'를 클릭합니다.

C#에서 암호로 파일 압축하는 방법: 그림 3 - NuGet 패키지 관리자에서 IronZIP 설치

패키지 매니저 콘솔 사용하기

  1. 패키지 관리자 콘솔을 엽니다.
  2. 다음 명령을 실행합니다:

    Install-Package IronZip

ZIP 파일 암호 보호 단계

이제 IronZIP이 설치되었으므로 라이브러리를 사용하여 ZIP 파일을 암호 보호할 수 있습니다.

필요한 라이브러리 가져오기

using IronZip;
using IronZip.Enum;
using IronZip;
using IronZip.Enum;
$vbLabelText   $csharpLabel

이 라인들은 IronZIP 라이브러리에서 필요한 네임스페이스를 가져옵니다: IronZip은 주요 클래스와 기능을 포함하고, IronZip.Enum은 라이브러리에서 사용되는 열거형을 포함합니다.

주 프로그램 클래스

class Program
{
    static void Main()
    {
        // Code execution starts here
    }
}
class Program
{
    static void Main()
    {
        // Code execution starts here
    }
}
$vbLabelText   $csharpLabel

이것은 코드 실행이 시작되는 Main 메소드가 있는 프로그램의 메인 클래스입니다.

빈 ZIP 아카이브 생성

using (var archive = new IronZipArchive(9)) 
{ 
     // Code within the 'using' block 
}
using (var archive = new IronZipArchive(9)) 
{ 
     // Code within the 'using' block 
}
$vbLabelText   $csharpLabel

using 문장은 IronZipArchive 객체가 사용 후 적절히 폐기되도록 보장합니다. 가장 높은 압축 수준(9)을 가지는 IronZipArchive의 새 인스턴스를 생성합니다.

ZIP 아카이브 암호 보호

다음 단일 코드 줄은 암호 보호를 ZIP 아카이브에 추가합니다:

archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional);
archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional);
$vbLabelText   $csharpLabel

archive 객체에 대해 Encrypt 메소드를 호출하여 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");
$vbLabelText   $csharpLabel

Add 메소드는 ZIP 아카이브에 파일을 추가하는 데 사용됩니다. 이 예에서는 "./assets/" 디렉토리에 있는 하나의 텍스트 파일과 하나의 이미지 파일(file1.txtimage1.png)이 아카이브에 추가됩니다.

다음은 추가할 파일입니다:

C#에서 암호로 파일 압축하는 방법: 그림 4 - 추가된 파일이 ZIP 파일 내에서 어떻게 보이는지

ZIP 아카이브 내보내기

archive.SaveAs("output.zip");
archive.SaveAs("output.zip");
$vbLabelText   $csharpLabel

ZIP 아카이브를 내보내기 위해 SaveAs 메소드를 호출합니다. 출력 파일 이름은 "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");
        }
    }
}
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");
        }
    }
}
$vbLabelText   $csharpLabel

출력

프로그램을 실행한 후, 프로젝트 디렉토리에 특정 파일이 포함된 'output.zip'이라는 암호 보호 단일 파일이 생깁니다.

C#에서 암호로 파일 압축하는 방법: 그림 5 - 암호를 묻는 암호 보호 ZIP 파일 팝업

결론

이 기사에서는 암호 보호 ZIP 파일의 중요성을 탐구하고 C# 프로젝트에서 ZIP 아카이브를 처리하는 강력한 솔루션으로 IronZIP 라이브러리를 소개했습니다. IronZIP의 호환성, 아카이브 생성, 편집 기능 및 쉬운 설치 단계를 포함한 자세한 기능을 다뤘습니다. 파일이 조작되지 않도록 전통적 및 고급 암호화 방식이 마련되어 있습니다. 마지막으로, Visual Studio에서 C# 콘솔 프로젝트를 생성, IronZIP 설치, ZIP 파일 암호 보호 단계를 안내했습니다.

IronZIP는 C# 애플리케이션에서 ZIP 파일을 다루는 과정을 단순화하여 개발자에게 아카이브 관리 및 보안을 위한 견고한 도구 세트를 제공합니다. 프로젝트에 IronZIP을 통합하여 ZIP 아카이브의 민감한 정보를 처리할 때 데이터 보호를 강화할 수 있습니다. IronZIP 및 그 기능에 대한 자세한 정보를 원하시면 공식 문서 페이지를 방문하세요.

IronZIP는 장기 사용을 위한 무료 체험판을 제공합니다. Lite 패키지는 $799부터 시작합니다.

자주 묻는 질문

C#에서 암호로 보호된 ZIP 파일을 어떻게 만들 수 있나요?

C#에서 IronZIP 라이브러리를 사용하면 암호로 보호된 ZIP 파일을 만들 수 있습니다. 먼저 NuGet 통해 라이브러리를 설치한 다음, IronZipArchive 객체를 생성하고, Encrypt 메서드를 사용하여 암호를 추가하고, 아카이브에 파일을 추가하고, SaveAs 메서드를 사용하여 아카이브를 저장합니다.

ZIP 파일 보안을 위해 사용할 수 있는 암호화 옵션에는 어떤 것들이 있습니까?

IronZIP 기존 암호화 방식, AES128 암호화 방식, AES256 암호화 방식을 제공하여 ZIP 파일을 안전하게 보호합니다. 이러한 옵션은 ZIP 압축 파일 내의 민감한 데이터를 보호하기 위한 다양한 수준의 보안을 제공합니다.

IronZIP 여러 .NET 버전과 호환됩니까?

네, IronZIP .NET 8, 7, 6, 5, Core, Standard 및 Framework와 호환되므로 다양한 .NET 환경에서 작업하는 개발자에게 다용도로 활용할 수 있는 선택입니다.

내 프로젝트에 IronZIP 어떻게 설치할 수 있나요?

Visual Studio의 NuGet 패키지 관리자를 사용하여 IronZIP 설치할 수 있습니다. 패키지 관리자에서 ' IronZIP'을 검색하고 프로젝트에 추가하여 ZIP 파일 관리를 시작하세요.

IronZIP C# 외의 다른 프로그래밍 언어와도 함께 사용할 수 있나요?

네, IronZIP C# 외에도 VB .NET 및 F#과 호환되므로 개발자는 다양한 .NET 언어 애플리케이션에서 이를 사용할 수 있습니다.

ZIP 파일 관리를 위한 C# 콘솔 애플리케이션을 설정하는 데 필요한 단계는 무엇입니까?

IronZIP 사용하여 ZIP 파일 관리를 위한 C# 콘솔 애플리케이션을 설정하려면 Visual Studio에서 새 콘솔 프로젝트를 만들고 NuGet 통해 IronZIP 설치한 다음 라이브러리 설명서를 따라 ZIP 파일 기능을 추가하세요.

IronZIP 사용하여 ZIP 파일을 처리할 때의 주요 이점은 무엇입니까?

IronZIP 사용하기 쉬운 API, 크로스 플랫폼 지원, 암호 보호 및 다양한 압축 형식 지원과 같은 기능을 제공하여 ZIP 파일 관리를 간소화하고 기능성과 데이터 보안을 모두 향상시킵니다.

암호 보호 기능은 ZIP 파일의 보안을 어떻게 향상시키나요?

암호 보호 기능은 권한이 있는 사람만 ZIP 파일의 내용에 접근할 수 있도록 보장하여, 압축 파일 내에 저장된 민감한 데이터에 중요한 보안 계층을 추가합니다.

커티스 차우
기술 문서 작성자

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

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me