itext AES加密的PDF仍然可以正确显示文本

时间:2018-04-12 12:14:28

标签: pdf encryption itext aes

我们使用itext 5加密了一个示例pdf文件。 代码生成加密的pdf输出和 Adobe pdf阅读器表示它是AES-256位加密的,但任何用户都可以轻松阅读其内容。

我们如何在pdf中随机播放文本,以便在没有自定义AES解密程序的情况下,无法读取pdf中的文本。

提前致谢

public static final String SRC = " /2016.pdf";
public static final String DEST = " /enc.pdf";

public static void main(String[] args) throws IOException, DocumentException {
    File file = new File(DEST);
    file.getParentFile().mkdirs();
    new crypto().manipulatePdf(SRC, DEST);
}


public void manipulatePdf(String src, String dest) throws IOException, DocumentException {
    PdfReader reader = new PdfReader(src);
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
    stamper.setEncryption(null, "World".getBytes(),
        PdfWriter.ALLOW_DEGRADED_PRINTING, PdfWriter.ENCRYPTION_AES_256);
    stamper.close();
    reader.close();
}

0 个答案:

没有答案