Mã hóa các tập tin PDF

Mã hóa là một phương pháp nổi tiếng và đáng tin cậy để bảo vệ nội dung của tài liệu PDF. Khi một tài liệu được mã hóa, nội dung của nó sẽ trở nên không thể đọc được và chỉ những người dùng được ủy quyền mới có thể giải mã tài liệu để có quyền truy cập vào nội dung đó. Khi bạn bảo vệ tài liệu bằng mật khẩu, những người nhập đúng mật khẩu mới có thể truy cập vào tệp hoặc thư mục. Một phương pháp bảo mật mạnh hơn là mã hóa, với các loại phổ biến là mã hóa khóa 128 bit hoặc mã hóa AES 256 bit. Xin lưu ý rằng Mã hóa sẽ biến nội dung tài liệu thành văn bản mã hóa không thể đọc được. Để giải mã tài liệu, người dùng được ủy quyền cần có khóa, thường là mật khẩu hoặc chứng chỉ kỹ thuật số. Trong bài viết này, chúng ta sẽ thảo luận về chi tiết về cách Mã hóa và Giải mã tệp PDF bằng Java cloud SDK.

Trong blog này, chúng ta sẽ thảo luận về các bước và thông tin chi tiết liên quan đến việc mã hóa và giải mã tài liệu PDF bằng Java REST API.

Giao diện lập trình Java REST

Aspose.PDF Cloud SDK for Java là một wrapper xung quanh Aspose.PDF Cloud cho phép các lập trình viên Java tận dụng tối đa các tính năng hiện đang được cung cấp trong Cloud API của chúng tôi. Vì vậy, ngay trong mã Java của bạn, bạn có được khả năng tạo, chỉnh sửa và chuyển đổi các tệp PDF thành nhiều Định dạng tài liệu được hỗ trợ.

Cài đặt

Để sử dụng SDK, bước đầu tiên là cài đặt nó trên hệ thống của bạn. Cloud SDK có sẵn để tải xuống qua MavenGitHub. Bây giờ hãy thêm các chi tiết sau vào tệp pom.xml của bạn để tải xuống và sử dụng Aspose.Pdf.jar trong dự án xây dựng Maven.

<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>

Chúng tôi cũng khuyên bạn nên truy cập liên kết sau để biết thông tin chi tiết về Cách cài đặt Aspose.Cloud SDK.

Đăng ký miễn phí Cloud Dashboard

Aspose.PDF Cloud SDK For Java là Cloud SDK miễn phí mã nguồn mở để xử lý tệp PDF. Khi chúng tôi đề cập đến miễn phí, điều đó có nghĩa là mã nguồn đầy đủ của SDK có sẵn để tải xuống trên kho lưu trữ GitHub. Vì vậy, bạn có thể sửa đổi mã của nó theo yêu cầu của mình. Tuy nhiên, để đảm bảo tính bảo mật và toàn vẹn của dữ liệu, Cloud API chỉ có thể truy cập được đối với những người được ủy quyền và họ chỉ truy cập vào bộ lưu trữ đám mây cụ thể của họ.

Do đó, trước tiên bạn cần truy cập Bảng điều khiển Aspose.Cloud và nếu bạn có tài khoản GitHub hoặc Google, chỉ cần Đăng ký. Nếu không, hãy nhấp vào nút Tạo tài khoản mới và cung cấp thông tin bắt buộc.

Mã hóa tệp PDF bằng lệnh cURL

Lệnh cURL là một trong những cách dễ nhất và tuyệt vời nhất để truy cập REST API. Vì vậy, hãy nói về việc thêm các chú thích khác nhau bằng lệnh cURL. Vì vậy, để sử dụng lệnh cURL, trước tiên chúng ta cần tạo mã thông báo ủy quyền truy cập JWT. Mã thông báo web JSON (JWT) dựa trên thông tin chi tiết về Client ID và Client Secret, là các khóa duy nhất được tạo cho mỗi khách hàng. Vì vậy, hãy đăng nhập vào bảng điều khiển Aspose.Cloud bằng thông tin đăng nhập của bạn và mở rộng phần Ứng dụng từ bảng điều khiển và cuộn xuống phần Thông tin đăng nhập của khách hàng để xem thông tin chi tiết về Client ID và Client Secret.

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"

Trước khi tiếp tục, xin lưu ý rằng khi chúng tôi mã hóa các tệp PDF, chúng tôi sẽ đặt mật khẩu Người dùng và chủ sở hữu.

Mật khẩu mở tài liệu

Mật khẩu mở tài liệu (còn gọi là mật khẩu người dùng) yêu cầu người dùng nhập mật khẩu để mở tệp PDF.

Mật khẩu quyền

Mật khẩu cấp quyền (còn được gọi là mật khẩu chủ/chủ sở hữu) là bắt buộc để thay đổi cài đặt cấp quyền. Khi sử dụng mật khẩu cấp quyền, bạn có thể hạn chế việc in, chỉnh sửa và sao chép nội dung trong PDF. Mật khẩu này là bắt buộc để thay đổi các hạn chế bạn đã áp dụng.

Nếu tệp PDF được bảo mật bằng cả hai loại mật khẩu, thì có thể mở tệp PDF bằng bất kỳ mật khẩu nào.

Xin lưu ý rằng API chấp nhận mật khẩu của chủ sở hữu và người dùng ở định dạng được mã hóa Base64. Trong lệnh cURL sau, ownerPassword (b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm) và userPassword (dXNlciAkXlBhc3N3b3JkISY=) được chỉ định.

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>"

Mã hóa tệp PDF bằng Java

Chúng tôi không chỉ thêm bảo vệ bằng mật khẩu vào các tệp PDF mà còn sử dụng phương pháp bảo mật mạnh hơn là mã hóa. Java REST API cho phép bạn chọn một trong các phương pháp mã hóa sau, biến nội dung tài liệu thành văn bản mã hóa không thể đọc được.

| Tên | Mô tả |

| ———— | ————– |

| RC4x40 | RC4 có độ dài khóa là 40. |

| RC4x128 | RC4 có độ dài khóa là 128. |

| AESx128 | AES với độ dài khóa là 128. |

| AESx256 | AES với độ dài khóa 256. |

Sử dụng đoạn mã sau để thêm userPassword và ownerPassword vào các tệp PDF đã có trên bộ nhớ đám mây.

  • Bước đầu tiên là tạo một thể hiện PdfApi trong khi truyền thông tin chi tiết về clientID và clientSecret làm đối số.
  • Tải tệp PDF lên bộ nhớ đám mây bằng phương thức uploadFile(…) của PdfApi.
  • Cuối cùng gọi phương thức postEncryptDocumentInStorage(…) của PdfApi, phương thức này lấy tên tệp PDF đầu vào, mật khẩu người dùng và chủ sở hữu, cùng với giá trị từ phép liệt kê CryptoAlgorithm làm đối số.
// Nhận ClientID và ClientSecret từ https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// thể hiện createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// nhập tài liệu PDF
String name = "PdfWithTable.pdf";	        
			   
// Tải tập tin từ hệ thống cục bộ
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// tải tập tin lên bộ nhớ đám mây
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// mật khẩu người dùng và chủ sở hữu được mã hóa base64
String userPasswordBase64encoded = "dXNlciAkXlBhc3N3b3JkISY="; //user $^Password!&
String ownerPasswordBase64encoded = "b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm"; //owner\//? $12^Password!&

// gọi API để mã hóa PDF
AsposeResponse response  = pdfApi.postEncryptDocumentInStorage(name, userPasswordBase64encoded, ownerPasswordBase64encoded,
			                CryptoAlgorithm.AESX128.getValue(), null, null, null, null);
// In phản hồi API trong bảng điều khiển
System.out.println(response);

Khi bạn thử mở tệp kết quả, một lời nhắc cung cấp thông tin mật khẩu sẽ xuất hiện.

Giải mã tệp PDF bằng lệnh cURL

Lệnh cURL cũng có thể được sử dụng để giải mã một tài liệu PDF được mã hóa hiện có. Trong ví dụ được đưa ra bên dưới, API PostDecryptDocumentInStorage được truy cập, API này lấy thông tin chi tiết về mật khẩu làm đối số.

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>"

Giải mã tệp PDF bằng Java

Để giải mã các tệp PDF bằng Java, vui lòng làm theo các bước được giải thích bên dưới

  • Tạo phiên bản PdfApi trong khi truyền clientSecret và clientID làm đối số.
  • Tạo đối tượng chuỗi xác định tệp PDF đầu vào.
  • Tải tệp lên bộ nhớ đám mây bằng phương thức uploadFile(….) của lớp PdfApi.
  • Cuối cùng, gọi phương thức postDecryptDocumentInStorage(…) trong khi cung cấp tên tệp PDF đầu vào và mật khẩu giải mã làm đối số.
// Nhận ClientID và ClientSecret từ https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// thể hiện createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// nhập tài liệu PDF
String name = "PdfWithTable.pdf";	        
			   
// Tải tập tin từ hệ thống cục bộ
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// tải tập tin lên bộ nhớ đám mây
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// mật khẩu người dùng và chủ sở hữu được mã hóa base64
String userPasswordBase64encoded = "dXNlciAkXlBhc3N3b3JkISY="; //user $^Password!&

// gọi API để giải mã PDF
AsposeResponse response  = pdfApi.postDecryptDocumentInStorage(name, userPasswordBase64encoded, null,null);
// In phản hồi API trong bảng điều khiển
System.out.println(response);

Tệp giải mã được sử dụng trong ví dụ trên có thể được tải xuống từ PdfWithTable-Encrypted.pdf.

Phần kết luận

Trong blog này, chúng tôi đã thảo luận về các bước về cách Mã hóa và Giải mã tệp PDF bằng Java REST API. Bạn có thể dễ dàng mã hóa các tệp nguồn của mình và chia sẻ chúng qua internet mà không sợ bị đánh cắp dữ liệu hoặc sử dụng sai tài liệu. Ngoài các tính năng mã hóa, Aspose.PDF Cloud SDK for Java cung cấp rất nhiều tính năng liên quan đến định dạng PDF. Bạn có thể cân nhắc truy cập liên kết sau để biết thêm chi tiết về các tính năng của Aspose.PDF Cloud.

Bài viết liên quan

Chúng tôi cũng khuyên bạn nên đọc blog sau để biết thông tin về