簡體   English   中英

如何安全地加密pdf文件

[英]How to encrypt pdf files securely

我有一個應用程序,其中spring-boot是后端,而jquery是前端。 我可以創建文檔,但無需加密或任何保護,因此需要弄清楚。

我需要保護pdf文件。 最好的方法是什么?

  • 我可以在前端添加用於為該pdf文件設置密碼的選項。 因此,有權創建文檔的用戶將為其設置密碼以及可以訪問文檔的用戶的密碼。
  • 同樣的道理,但是文檔的創建者只會為普通用戶選擇密碼,而“主”密碼只會在后端秘密使用
  • 我將如何存儲這些密碼? 在數據庫中? 以及如何/哪種格式?
  • 如何將這些密碼分發給用戶? 使用電子郵件將密碼發送給用戶是否安全? 但是同樣,密碼必須存儲在安全的地方。
  • 這是一個好方法嗎? 還是最好的辦法是這樣做?

謝謝

我認為IText Engine可以輕松解決您的問題。

該工具包具有用於PDF生成和處理的便捷功能(包括帶有密碼的安全PDF和其他簽名加密系統)。

這是一個基本示例

PdfReader reader = new PdfReader(src);
WriterProperties props = new WriterProperties()
        .setStandardEncryption(USERPASS, OWNERPASS, EncryptionConstants.ALLOW_PRINTING,
                EncryptionConstants.ENCRYPTION_AES_128 | EncryptionConstants.DO_NOT_ENCRYPT_METADATA);
PdfWriter writer = new PdfWriter(new FileOutputStream(dest), props);
PdfDocument pdfDoc = new PdfDocument(reader, writer);
pdfDoc.close();

注意 :

請注意, USERPASSOWNERPASS的類型為byte[]

public static byte[] USERPASS = "superuser".getBytes(); public static byte[] OWNERPASS = "superowner".getBytes();

您具有不同的權限選項(查找以EncryprionConstants開頭的EncryprionConstants),還可以從不同的加密算法中進行選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM