大虾PDF加密位增加

问题描述 投票:0回答:1

我使用 Prawn 在 Rails 中生成 PDF,并且我在第 76 行的文档中注意到:

使用的加密技术较弱;由于在编写 PDF 标准时美国实行出口管制,该密钥是由密码派生的,并且限制为 40 位。从技术上讲,没有任何内容要求 PDF 阅读器尊重文档中嵌入的权限。许多 PDF 阅读器没有。简而言之,面对一个中等动机的人,你“完全没有安全感”。不要将其用于任何超级严重的事情。这不是 Prawn 的限制,而是 PDF 格式的内置限制。

我知道您可以轻松绕过加密,但我国法律要求 128 位加密。有没有办法在Prawn PDF中增加它?

ruby-on-rails pdf pdf-generation prawn
1个回答
0
投票
HexaPDF

而不是 Prawn 来生成文档并使用 AES 128 位或 256 位加密。然而,这意味着您需要彻底修改代码,因为文档创建工具有点不同。 对您来说更容易的是对 Prawn 生成的 PDF 文档进行后处理,以在第二步中对其进行加密。 IE。首先使用 Prawn

without

加密创建文档,然后应用加密。 第二步可以在使用 Prawn 生成 PDF 文档后直接使用 HexaPDF 完成,在同一个 Ruby 进程中。或者您可以使用任何支持此操作的 CLI 工具,例如

hexapdf

(HexaPDF 库的 CLI 配套工具)、

qpdf
pdftk
...
[注]我是 HexaPDF 的作者。]

© www.soinside.com 2019 - 2024. All rights reserved.