PDF 파일 암호화

암호화는 PDF 문서의 내용을 보호하는 유명하고 신뢰할 수 있는 방법입니다. 문서가 암호화되면 해당 내용은 읽을 수 없게 되고 권한이 있는 사용자만 문서를 해독하여 내용에 액세스할 수 있습니다. 암호로 문서를 보호하면 올바른 암호를 입력하는 사람이 파일이나 폴더에 액세스할 수 있습니다. 더 강력한 보안 방법은 암호화이며 일반적인 유형은 128비트 키 또는 256비트 AES 암호화입니다. 암호화는 문서 내용을 읽을 수 없는 암호문으로 변환합니다. 문서를 해독하려면 권한이 있는 사용자에게 일반적으로 암호 또는 디지털 인증서인 키가 필요합니다. 이 문서에서는 Java 클라우드 SDK를 사용하여 PDF 파일을 암호화 및 해독하는 방법에 대한 세부 정보를 설명합니다.

이 블로그에서는 Java REST API를 사용하여 PDF 문서를 암호화하고 복호화하는 데 필요한 단계와 세부 정보를 설명합니다.

자바 REST API

Aspose.PDF Cloud SDK for Java는 Java 프로그래머가 현재 Cloud API에서 제공되는 기능을 최대한 활용할 수 있도록 하는 Aspose.PDF Cloud의 래퍼입니다. 따라서 Java 코드 내에서 바로 PDF 파일을 다양한 지원되는 문서 형식으로 생성, 편집 및 변환하는 기능을 얻을 수 있습니다.

설치

SDK를 사용하려면 첫 번째 단계는 시스템에 설치하는 것입니다. Cloud SDK는 MavenGitHub에서 다운로드할 수 있습니다. 이제 pom.xml 파일에 다음 세부 정보를 추가하여 Maven 빌드 프로젝트에서 Aspose.Pdf.jar를 다운로드하고 사용합니다.

<repositories>
 <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>
<dependencies>
 <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-pdf-cloud</artifactId>
        <version>21.1.0</version>
        <scope>compile</scope>
    </dependency>
 </dependencies>

또한 Aspose.Cloud SDK 설치 방법에 대한 자세한 내용은 다음 링크를 방문해 보시기 바랍니다.

클라우드 대시보드 무료 구독

Aspose.PDF Cloud SDK For Java는 PDF 파일 처리를 위한 오픈 소스 무료 Cloud SDK입니다. 무료라고 언급할 때, SDK의 전체 소스 코드를 GitHub 저장소에서 다운로드할 수 있다는 것을 의미합니다. 따라서 요구 사항에 따라 코드를 수정할 수 있습니다. 그러나 데이터 기밀성과 무결성을 보장하기 위해 Cloud API는 권한이 있는 사람만 액세스할 수 있으며, 해당 클라우드 저장소에만 액세스합니다.

따라서 먼저 Aspose.Cloud 대시보드를 방문해야 하며 GitHub 또는 Google 계정이 있는 경우 간단히 가입하세요. 그렇지 않은 경우 새 계정 만들기 버튼을 클릭하고 필요한 정보를 제공하세요.

cURL 명령을 사용하여 PDF 파일 암호화

cURL 명령은 REST API에 액세스하는 가장 쉽고 멋진 방법 중 하나입니다. cURL 명령을 사용하여 다양한 주석을 추가하는 방법에 대해 이야기해 보겠습니다. cURL 명령을 사용하려면 먼저 JWT 액세스 권한 부여 토큰을 생성해야 합니다. JSON 웹 토큰(JWT)은 각 고객에 대해 생성된 고유한 키인 클라이언트 ID 및 클라이언트 비밀 세부 정보를 기반으로 합니다. 따라서 자격 증명을 사용하여 Aspose.Cloud 대시보드에 로그인하고 대시보드에서 애플리케이션 섹션을 확장한 다음 클라이언트 자격 증명 섹션으로 스크롤하여 클라이언트 ID 및 클라이언트 비밀 세부 정보를 확인합니다.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4&client_secret=d87269aade6a46cdc295b711e26809af" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

계속 진행하기 전에 PDF 파일을 암호화할 때 사용자 및 소유자 비밀번호를 설정한다는 점에 유의하세요.

문서 열기 비밀번호

문서 열기 암호(사용자 암호라고도 함)를 사용하려면 사용자가 PDF를 열 때 암호를 입력해야 합니다.

권한 비밀번호

권한 설정을 변경하려면 권한 암호(마스터/소유자 암호라고도 함)가 필요합니다. 권한 암호를 사용하는 동안 PDF의 인쇄, 편집 및 복사를 제한할 수 있습니다. 이 암호는 이미 적용한 제한을 변경하는 데 필요합니다.

PDF가 두 가지 유형의 비밀번호로 보호된 경우, 두 비밀번호 중 하나를 사용하여 열 수 있습니다.

API는 Base64 인코딩된 형식의 소유자 및 사용자 비밀번호를 허용합니다. 다음 cURL 명령에서 ownerPassword(b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm) 및 userPassword(dXNlciAkXlBhc3N3b3JkISY=)가 지정됩니다.

curl -v "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/encrypt?userPassword=dXNlciAkXlBhc3N3b3JkISY%3D&ownerPassword=b3duZXJcLy8%2FICQxMl5QYXNzd29yZCEm&cryptoAlgorithm=AESx128&permissionsFlags=AssembleDocument&usePdf20=false" \
-X POST \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Java를 사용하여 PDF 파일 암호화

PDF 파일에 단순히 암호 보호를 추가하는 것이 아니라, 더 강력한 보안 방법인 암호화가 사용됩니다. Java REST API를 사용하면 다음 암호화 방법 중 하나를 선택할 수 있으며, 이를 통해 문서 내용을 읽을 수 없는 암호문으로 바꿀 수 있습니다.

| 이름 | 설명 |

| ———— | ———- |

| RC4x40 | 키 길이가 40인 RC4. |

| RC4x128 | 키 길이 128의 RC4. |

| AESx128 | 키 길이가 128인 AES. |

| AESx256 | 키 길이가 256인 AES. |

다음 코드 조각을 사용하여 클라우드 저장소에 이미 있는 PDF 파일에 userPassword 및 ownerPassword를 추가합니다.

  • 첫 번째 단계는 clientID와 clientSecret 세부 정보를 인수로 전달하면서 PdfApi 인스턴스를 만드는 것입니다.
  • PdfApi의 uploadFile(…) 메서드를 사용하여 PDF 파일을 클라우드 저장소에 업로드합니다.
  • 마지막으로 PdfApi의 postEncryptDocumentInStorage(…) 메서드를 호출합니다. 이 메서드는 입력 PDF 파일 이름, 사용자 및 소유자 비밀번호, CryptoAlgorithm 열거형의 값을 인수로 받습니다.
// https://dashboard.aspose.cloud/에서 ClientID와 ClientSecret을 가져옵니다.
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// createPdfApi 인스턴스
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// PDF 문서 입력
String name = "PdfWithTable.pdf";	        
			   
// 로컬 시스템에서 파일을 로드합니다
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// 파일을 클라우드 스토리지에 업로드하다
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// base64로 인코딩된 사용자 및 소유자 비밀번호
String userPasswordBase64encoded = "dXNlciAkXlBhc3N3b3JkISY="; //user $^Password!&
String ownerPasswordBase64encoded = "b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm"; //owner\//? $12^Password!&

// PDF 암호화를 위한 API 호출
AsposeResponse response  = pdfApi.postEncryptDocumentInStorage(name, userPasswordBase64encoded, ownerPasswordBase64encoded,
			                CryptoAlgorithm.AESX128.getValue(), null, null, null, null);
// 콘솔에서 API 응답 인쇄
System.out.println(response);

생성된 파일을 열려고 하면 비밀번호 세부 정보를 제공하라는 메시지가 나타납니다.

cURL 명령을 사용하여 PDF 파일 암호 해독

cURL 명령은 기존 인코딩된 PDF 문서를 해독하는 데에도 사용할 수 있습니다. 아래에 제공된 예에서 PostDecryptDocumentInStorage API에 액세스하여 암호 세부 정보를 인수로 사용합니다.

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/decrypt?password=dXNlciAkXlBhc3N3b3JkISY%3D" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Java를 사용하여 PDF 파일 암호 해독

Java를 사용하여 PDF 파일을 해독하려면 아래 설명된 단계를 따르십시오.

  • clientSecret과 clientID를 인수로 전달하여 PdfApi 인스턴스를 생성합니다.
  • 입력 PDF 파일을 정의하는 문자열 객체를 생성합니다.
  • PdfApi 클래스의 uploadFile(….) 메서드를 사용하여 클라우드 저장소에 파일을 업로드합니다.
  • 마지막으로, PDF 파일 이름과 복호화 비밀번호를 인수로 제공하면서 postDecryptDocumentInStorage(…) 메서드를 호출합니다.
// https://dashboard.aspose.cloud/에서 ClientID와 ClientSecret을 가져옵니다.
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// createPdfApi 인스턴스
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// PDF 문서 입력
String name = "PdfWithTable.pdf";	        
			   
// 로컬 시스템에서 파일을 로드합니다
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// 파일을 클라우드 스토리지에 업로드하다
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// base64로 인코딩된 사용자 및 소유자 비밀번호
String userPasswordBase64encoded = "dXNlciAkXlBhc3N3b3JkISY="; //user $^Password!&

// PDF 복호화를 위한 API 호출
AsposeResponse response  = pdfApi.postDecryptDocumentInStorage(name, userPasswordBase64encoded, null,null);
// 콘솔에서 API 응답 인쇄
System.out.println(response);

위 예에서 사용된 복호화된 파일은 PdfWithTable-Encrypted.pdf에서 다운로드할 수 있습니다.

결론

이 블로그에서는 Java REST API를 사용하여 PDF 파일을 암호화하고 복호화하는 방법에 대한 단계를 설명했습니다. 데이터 도난이나 문서 오용에 대한 두려움 없이 소스 파일을 쉽게 암호화하고 인터넷을 통해 공유할 수 있습니다. 암호화 기능 외에도 Aspose.PDF Cloud SDK for Java는 PDF 형식과 관련된 다양한 기능을 제공합니다. Aspose.PDF Cloud 기능에 대한 자세한 내용은 다음 링크를 방문해보세요.

관련기사

또한 다음 블로그를 읽어 정보를 얻는 것이 좋습니다.