เข้ารหัสไฟล์ PDF

การเข้ารหัสเป็นวิธีการที่มีชื่อเสียงและเชื่อถือได้ในการปกป้องเนื้อหาของเอกสาร PDF เมื่อเอกสารถูกเข้ารหัส เนื้อหาของเอกสารจะไม่สามารถอ่านได้ และเฉพาะผู้ใช้ที่ได้รับอนุญาตเท่านั้นที่สามารถถอดรหัสเอกสารเพื่อเข้าถึงเนื้อหาได้ เมื่อคุณป้องกันเอกสารด้วยรหัสผ่าน ผู้ที่ป้อนรหัสผ่านที่ถูกต้องจะสามารถเข้าถึงไฟล์หรือโฟลเดอร์ได้ วิธีการรักษาความปลอดภัยที่แข็งแกร่งกว่าคือการเข้ารหัส โดยประเภททั่วไปคือคีย์ 128 บิตหรือการเข้ารหัส AES 256 บิต โปรดทราบว่าการเข้ารหัสจะเปลี่ยนเนื้อหาของเอกสารให้เป็นข้อความเข้ารหัสที่ไม่สามารถอ่านได้ ในการถอดรหัสเอกสาร ผู้ใช้ที่ได้รับอนุญาตจะต้องมีคีย์ ซึ่งโดยทั่วไปจะเป็นรหัสผ่านหรือใบรับรองดิจิทัล ในบทความนี้ เราจะมาพูดถึงรายละเอียดเกี่ยวกับวิธีการเข้ารหัสและถอดรหัสไฟล์ PDF โดยใช้ Java cloud SDK

ในบล็อกนี้ เราจะหารือเกี่ยวกับขั้นตอนและรายละเอียดที่เกี่ยวข้องกับการเข้ารหัสและถอดรหัสเอกสาร PDF โดยใช้ Java REST API

จาวา REST API

Aspose.PDF Cloud SDK for Java เป็นตัวห่อหุ้ม Aspose.PDF Cloud ที่ช่วยให้โปรแกรมเมอร์ Java สามารถใช้ประโยชน์จากฟีเจอร์ต่างๆ ที่มีอยู่ใน Cloud API ของเราได้อย่างเต็มที่ ดังนั้นภายในโค้ด Java ของคุณ คุณจะได้รับความสามารถในการสร้าง แก้ไข และแปลงไฟล์ PDF เป็น รูปแบบเอกสารที่รองรับ ต่างๆ

การติดตั้ง

หากต้องการใช้ SDK ขั้นตอนแรกคือติดตั้งลงในระบบของคุณ คุณสามารถดาวน์โหลด Cloud SDK ได้จาก Maven และ GitHub จากนั้นเพิ่มรายละเอียดต่อไปนี้ในไฟล์ pom.xml เพื่อดาวน์โหลดและใช้ Aspose.Pdf.jar ในโปรเจ็กต์ Maven build

<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

สมัครสมาชิก Cloud Dashboard ฟรี

Aspose.PDF Cloud SDK For Java เป็น Cloud SDK แบบโอเพ่นซอร์สฟรีสำหรับการประมวลผลไฟล์ PDF เมื่อเรากล่าวถึงฟรี หมายความว่าคุณสามารถดาวน์โหลดรหัสต้นฉบับทั้งหมดของ SDK ได้จากที่เก็บ GitHub ดังนั้นคุณจึงสามารถปรับเปลี่ยนรหัสได้ตามความต้องการของคุณ แต่เพื่อให้แน่ใจว่าข้อมูลมีความลับและสมบูรณ์ Cloud API จะสามารถเข้าถึงได้โดยผู้ที่ได้รับอนุญาตเท่านั้น และเข้าถึงที่เก็บข้อมูลบนคลาวด์เฉพาะของตนเองเท่านั้น

ดังนั้น คุณต้องไปที่ Aspose.Cloud Dashboard ก่อน และหากคุณมีบัญชี GitHub หรือ Google ให้ลงทะเบียนเพียงเท่านี้ มิฉะนั้น ให้คลิกที่ปุ่ม สร้างบัญชีใหม่ และระบุข้อมูลที่จำเป็น

เข้ารหัสไฟล์ PDF โดยใช้คำสั่ง cURL

คำสั่ง cURL เป็นวิธีที่ง่ายที่สุดและเจ๋งที่สุดวิธีหนึ่งในการเข้าถึง REST API มาพูดถึงการเพิ่มคำอธิบายประกอบต่างๆ โดยใช้คำสั่ง cURL กันก่อน ดังนั้นในการใช้คำสั่ง cURL เราต้องสร้างโทเค็นการอนุญาตการเข้าถึง JWT ก่อน โทเค็นเว็บ JSON (JWT) ขึ้นอยู่กับรายละเอียดรหัสไคลเอนต์และความลับไคลเอนต์ ซึ่งเป็นคีย์เฉพาะที่สร้างขึ้นสำหรับลูกค้าแต่ละราย ดังนั้น ให้เข้าสู่ระบบ แดชบอร์ด Aspose.Cloud โดยใช้ข้อมูลประจำตัวของคุณ และขยายส่วนแอปพลิเคชันจากแดชบอร์ด แล้วเลื่อนลงไปทางส่วนข้อมูลประจำตัวไคลเอนต์เพื่อดูรายละเอียดรหัสไคลเอนต์และความลับไคลเอนต์

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 ยอมรับรหัสผ่านของเจ้าของและผู้ใช้ในรูปแบบ Base64encoded ในคำสั่ง 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>"

เข้ารหัสไฟล์ PDF โดยใช้ Java

เราไม่ได้เพิ่มการป้องกันด้วยรหัสผ่านให้กับไฟล์ PDF เท่านั้น แต่เรายังใช้วิธีการเข้ารหัสเพื่อเพิ่มความปลอดภัยให้เข้มงวดยิ่งขึ้น Java REST API ช่วยให้คุณเลือกวิธีการเข้ารหัสต่อไปนี้ได้ ซึ่งจะเปลี่ยนเนื้อหาเอกสารให้เป็นข้อความเข้ารหัสที่อ่านไม่ได้

| ชื่อ | คำอธิบาย |


| RC4x40 | RC4 ที่มีความยาวคีย์ 40 |

| RC4x128 | RC4 ที่มีความยาวคีย์ 128 |

| AESx128 | AES ที่มีความยาวคีย์ 128 |

| AESx256 | AES ที่มีความยาวคีย์ 256 |

ใช้โค้ดสั้นๆ ต่อไปนี้เพื่อเพิ่ม userPassword และ ownerPassword ลงในไฟล์ PDF ที่มีอยู่แล้วในระบบจัดเก็บข้อมูลบนคลาวด์

  • ขั้นตอนแรกคือการสร้างอินสแตนซ์ PdfApi ขณะส่งรายละเอียด clientID และ clientSecret เป็นอาร์กิวเมนต์
  • อัปโหลดไฟล์ PDF ไปที่การเก็บข้อมูลบนคลาวด์โดยใช้เมธอด uploadFile(…) ของ PdfApi
  • ในที่สุดให้เรียกวิธี postEncryptDocumentInStorage(…) ของ PdfApi ซึ่งรับชื่อไฟล์ PDF อินพุต รหัสผ่านของผู้ใช้และเจ้าของ และค่าจากการแจงนับ CryptoAlgorithm เป็นอาร์กิวเมนต์
// รับ ClientID และ ClientSecret จาก https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// สร้างอินสแตนซ์ PdfApi
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!&

// เรียก API เพื่อเข้ารหัส PDF
AsposeResponse response  = pdfApi.postEncryptDocumentInStorage(name, userPasswordBase64encoded, ownerPasswordBase64encoded,
			                CryptoAlgorithm.AESX128.getValue(), null, null, null, null);
// พิมพ์การตอบสนอง API ในคอนโซล
System.out.println(response);

เมื่อคุณพยายามเปิดไฟล์ผลลัพธ์ จะมีข้อความแจ้งให้ใส่รายละเอียดรหัสผ่านปรากฏขึ้น

ถอดรหัสไฟล์ PDF โดยใช้คำสั่ง cURL

คำสั่ง cURL ยังใช้ในการถอดรหัสเอกสาร PDF ที่เข้ารหัสไว้แล้วได้อีกด้วย ในตัวอย่างด้านล่าง จะมีการเข้าถึง API PostDecryptDocumentInStorage ซึ่งใช้รายละเอียดรหัสผ่านเป็นอาร์กิวเมนต์

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

ถอดรหัสไฟล์ PDF โดยใช้ Java

เพื่อถอดรหัสไฟล์ PDF โดยใช้ Java โปรดปฏิบัติตามขั้นตอนที่อธิบายไว้ด้านล่าง

  • สร้างอินสแตนซ์ PdfApi ขณะส่ง clientSecret และ clientID เป็นอาร์กิวเมนต์
  • สร้างวัตถุสตริงที่กำหนดไฟล์ PDF อินพุต
  • อัปโหลดไฟล์ไปยังที่เก็บข้อมูลบนคลาวด์โดยใช้เมธอด uploadFile(….) ของคลาส PdfApi
  • ในที่สุด เรียกใช้เมธอด postDecryptDocumentInStorage(…) โดยระบุชื่อไฟล์ PDF อินพุตและรหัสผ่านการถอดรหัสเป็นอาร์กิวเมนต์
// รับ ClientID และ ClientSecret จาก https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// สร้างอินสแตนซ์ PdfApi
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!&

// เรียก API เพื่อถอดรหัส PDF
AsposeResponse response  = pdfApi.postDecryptDocumentInStorage(name, userPasswordBase64encoded, null,null);
// พิมพ์การตอบสนอง API ในคอนโซล
System.out.println(response);

ไฟล์ถอดรหัสที่ใช้ในตัวอย่างข้างต้นสามารถดาวน์โหลดได้จาก PdfWithTable-Encrypted.pdf

บทสรุป

ในบล็อกนี้ เราได้กล่าวถึงขั้นตอนการเข้ารหัสและถอดรหัสไฟล์ PDF โดยใช้ Java REST API คุณสามารถเข้ารหัสไฟล์ต้นฉบับของคุณได้อย่างง่ายดายและแชร์ผ่านอินเทอร์เน็ตโดยไม่ต้องกลัวว่าข้อมูลจะถูกขโมยหรือเอกสารจะถูกนำไปใช้ในทางที่ผิด นอกเหนือจากคุณสมบัติการเข้ารหัสแล้ว Aspose.PDF Cloud SDK for Java ยังมีคุณสมบัติมากมายที่เกี่ยวข้องกับรูปแบบ PDF คุณอาจลองไปที่ลิงก์ต่อไปนี้เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับ Aspose.PDF Cloud SDK

บทความที่เกี่ยวข้อง

เราขอแนะนำให้คุณอ่านบล็อกต่อไปนี้เพื่อดูข้อมูลเกี่ยวกับ