是否可以使用对称加密来加密pdf的内容?并且acrobat等会自动支持解密吗?
我需要在c#/ .net中使用api来加密文件的内容!
亲切的问候 迈克尔
答案 0 :(得分:1)
Docotic.Pdf library可以为您加密或解密PDF文件。
PDF Reference定义了两种标准加密算法:RC4和AES。两种算法都是对称的。 RC4使用长度为40到128位的密钥。 AES使用128位密钥(256个密钥很快就会成为新标准)。
加密的PDF可以完全锁定(你和其他任何人都无法在没有密码的情况下打开它们)或只是“受到保护”的修改(任何人都可以在没有任何密码的情况下打开它们,并且表现良好的观众赢了'允许改变它们。)
请查看展示如何encrypt PDF document with AES 128 bit。
的示例免责声明:我为图书馆的供应商Bit Miracle工作。
答案 1 :(得分:1)
Atalasoft PDF library(dotImage的一部分)可以为您处理PDF文档的加密或解密(免责声明,我为Atalasoft工作并编写了库)。代码非常简单:
public void EncryptPdf(Stream input, Stream output, string userPassword, string ownerPassword)
{
if (input == output) throw new ArgumentExeption("input", "input and output must be different");
PdfDocument doc = new PdfDocument(input);
// at this point if you set doc.Permissions, you can fine-control what can be
// done to the document. If userPassword is null, then the document can be opened
// without a password prompt, but will be restricted to the permissions.
// Permissions includes things like Printing, Modifying, Copying Text etc.
doc.Save(userPassword, ownerPassword, output);
}
答案 2 :(得分:0)
您不希望手动执行此类操作,而是希望使用PDF库。
我不知道是否有那些支持本机/ Adobe PDF加密但是你可以查看some of them并检查它们的功能。
答案 3 :(得分:0)
是的,使用证书。
http://help.adobe.com/en_US/Acrobat/9.0/Standard/WS58a04a822e3e50102bd615109794195ff-7d6c.w.html
如果您已经为Acrobat的全功能版本付费,可以使用其JavaScript界面为您完成工作(although it looks an effort in itself。)
似乎iTextSharp可以使用或不使用证书来实现,并且是开源的,因此可能是一个不错的选择。他们当然要提出将这本书作为一种好资源。这是我看过的第一个第三方图书馆,其他供应商可能会提供这些功能。
但是,如果你想自动化这个过程并且你不想向Adobe或其他第三方支付费用,我希望有人提供更完整的答案。