การเข้ารหัสกับรหัสผ่าน: Protect และ Unlock ทำอะไรจริง ๆ
การใส่รหัสผ่านให้ PDF คือการเข้ารหัสด้วยรหัสเปิดไฟล์ Protect เป็นตัวเพิ่ม ส่วน Unlock เป็นตัวถอดเมื่อคุณรู้รหัสอยู่แล้ว และไม่มีเครื่องมือใดกู้รหัสผ่านที่ลืมได้

คนพูดว่า “ใส่รหัสผ่าน PDF” กับ “เข้ารหัส PDF” ราวกับเป็นผลิตภัณฑ์คนละอย่าง แต่ในรูปแบบ PDF ทั้งสองเป็นกลไกตระกูลเดียวกัน คือไฟล์มีดิกชันนารี /Encrypt และโปรแกรมอ่านต้องมีรหัสผ่าน (หรือข้อมูลรับรองเทียบเท่า) ก่อนยอมให้เนื้อหาหน้าในรูปข้อความธรรมดา
“ใส่รหัสผ่าน” หมายถึงอะไรจริง ๆ
PDF ที่ถูกป้องกันไม่ใช่แค่ล็อก UI ในแอปเดียว โปรแกรมอ่านตามมาตรฐานจะไม่เปิดเอกสารจนกว่าจะได้รหัสเปิดที่ถูกต้อง นั่นคือการเข้ารหัสเนื้อหาไฟล์ โดยผูกคีย์ไว้กับรหัสผ่านที่ใช้ถอดรหัส
Protect PDF (POST /api/v1/security/add-password) รับรหัสผ่านที่คุณเลือก แล้วคืนไฟล์ที่เข้ารหัสซึ่งจะถามรหัสนั้นเมื่อเปิด ฟอร์มบนพอร์ทัลมีช่องรหัสผ่านช่องเดียว ฝั่งเซิร์ฟเวอร์เข้ารหัสผ่าน qpdf (--encrypt) โดยใช้ค่านั้นเป็นรหัสผู้ใช้ (รหัสเปิด) ถ้าไม่ส่งรหัสเจ้าของแยกมาทาง API ก็ใช้สตริงเดียวกันกับบทบาทเจ้าของ ความยาวคีย์เริ่มต้น 256 บิต เครื่องมือไม่เก็บรหัสผ่านหลังประมวลผลเสร็จ ถ้าทำรหัสหาย ไฟล์ที่ได้ก็ยังล็อก
รหัสผู้ใช้กับรหัสเจ้าของ
การเข้ารหัส PDF แยกบทบาทออกเป็นสองแบบมาแต่เดิม
- รหัสผู้ใช้ (รหัสเปิด): ต้องใช้เพื่อเปิดและดูเอกสารทั้งหมด
- รหัสเจ้าของ (รหัสสิทธิ์): มักใช้กำหนดข้อจำกัดการพิมพ์หรือแก้ไข ขณะที่ยังให้คนอื่นเปิดไฟล์ด้วยรหัสผู้ใช้ได้ (หรือเปิดด้วยรหัสว่าง ขึ้นกับวิธีสร้างไฟล์)
ทั้งสองเป็นแนวคิดของรูปแบบไฟล์ ไม่ใช่ป้ายการตลาด เวิร์กโฟลว์ “ล็อก PDF” ทั่วไปมักตั้งแค่รหัสเปิด ส่วนการจำกัดพิมพ์หรือแก้ไขโดยไม่บล็อกการเปิดเป็นเรื่องสิทธิ์ที่ใช้บทบาทเจ้าของ ซึ่งมักสับสนกับอาการ “ไฟล์เปิดไม่ได้”
บน PDF123 ฟอร์ม Protect ถามรหัสช่องเดียวและถือเป็นรหัสเปิดที่ต้องใช้ดูไฟล์ ส่วน Unlock ต้องใช้รหัสที่รู้อยู่แล้วชุดเดียวกันเพื่อถอดรหัส ผู้เรียก API ขั้นสูงส่ง ownerPassword, keyLength, canPrint และ canModify ไปกับ add-password ได้ แต่ฟอร์มเบราว์เซอร์ไม่เปิดปุ่มเหล่านี้
Unlock ทำอะไร และไม่ทำอะไร
Remove Password (POST /api/v1/security/remove-password) ถอดการเข้ารหัสด้วยรหัสผ่านที่มีอยู่ออก เมื่อคุณป้อนรหัสปัจจุบันได้ถูกต้อง หน้า ฟอนต์ และเลย์เอาต์ยังเหมือนเดิม มีแค่ข้อกำหนดเรื่องการเข้ารหัสที่หายไป
มันไม่กู้ เดา หรือเจาะรหัสที่ลืม ถ้าไม่รู้รหัส Unlock ก็ไม่ได้สร้างใหม่ และ Repair ก็ไม่ถอดการเข้ารหัสให้เช่นกัน หาก Get Info รายงาน Encrypted: true แปลว่าต้องปลดล็อกก่อนแล้วจึงแก้ไข
เมื่อไรใช้ตัวไหน
| เป้าหมาย | เครื่องมือ |
|---|---|
| ต้องมีรหัสผ่านเพื่อเปิดก่อนส่งหรือแชร์ | Protect |
| รู้รหัสอยู่แล้วและต้องการสำเนาที่เปิดได้อิสระ | Unlock |
| ลืมรหัสผ่าน | ไม่มีเครื่องมือใดช่วยได้ เก็บรหัสไว้นอก PDF |
| ไฟล์เปิดไม่ได้เพราะโครงสร้าง (ไม่ใช่การเข้ารหัส) | Repair / Get Info ไม่ใช่ Unlock |
ทั้ง Protect และ Unlock รันฝั่งเซิร์ฟเวอร์โดยไม่ต้องมีบัญชีบนเส้นทางแคตตาล็อก การเข้ารหัสไม่ได้ทำให้ไฟล์เล็กลง เพราะ Compress เป็นงานบีบอัดสตรีมใหม่แยกต่างหาก และยังต้องใช้ PDF ที่ปลดล็อกแล้ว (หรือไม่เคยเข้ารหัส) เช่นเดียวกับ OCR การส่งออกตาราง และ op แก้ไขส่วนใหญ่ที่ต้องเข้าถึงข้อความธรรมดาก่อน คือปลดล็อกด้วยรหัสที่รู้แล้วจึงเรียกเครื่องมืออื่น
เก็บรหัสผ่านไว้นอก PDF (ตัวจัดการรหัสผ่านหรือคลังความลับ) การใส่รหัสเปิดในอีเมลเดียวกับไฟล์แนบทำให้การป้องกันหมดความหมาย สำหรับงานชุดเดียวกันผ่าน HTTP ดูที่ Developers