C# 用C语言加密PDF文档#
是否可以使用对称加密对pdf的内容进行加密?acrobat等是否支持自动解密 我需要一个c#/.net中的api来加密文件的内容 亲切的问候C# 用C语言加密PDF文档#,c#,pdf,encryption,C#,Pdf,Encryption,是否可以使用对称加密对pdf的内容进行加密?acrobat等是否支持自动解密 我需要一个c#/.net中的api来加密文件的内容 亲切的问候 Michael您不希望手动执行此类操作,而是希望使用PDF库 我不知道是否有支持本机/Adobe PDF加密的软件,但您可以查看并检查它们的功能。是的,使用证书 如果您购买了功能齐全的Acrobat版本,您可以使用其JavaScript界面为您完成工作(.) 它似乎可以使用或不使用证书,并且是开源的,因此可能是一个不错的选择。他们肯定会把这本书作为一个很
Michael您不希望手动执行此类操作,而是希望使用PDF库
我不知道是否有支持本机/Adobe PDF加密的软件,但您可以查看并检查它们的功能。是的,使用证书 如果您购买了功能齐全的Acrobat版本,您可以使用其JavaScript界面为您完成工作(.) 它似乎可以使用或不使用证书,并且是开源的,因此可能是一个不错的选择。他们肯定会把这本书作为一个很好的资源来展示。这是我看到的第一个第三方库,其他供应商可能会提供这些功能 然而,如果你想自动化这个过程,又不想向Adobe或其他第三方付费,我希望有人能提供一个更完整的答案 这里是指向的链接。可以为您加密或解密PDF文件 PDF参考定义了两种标准加密算法:RC4和AES。两种算法都是对称的。RC4使用长度为40到128位的密钥。AES使用128位密钥(256位密钥将很快成为新标准) 加密PDF可以完全锁定(您和其他任何人在没有密码的情况下都无法打开它们),或者只是“保护”不被修改(任何人都可以在没有密码的情况下打开它们,行为良好的查看器不允许更改它们) 请看一看演示如何使用的示例 免责声明:我为该库的供应商Bit Miracle工作。该(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);
}
任何文件都可以加密或解密。如果希望Acrobat能够自动解密,则您的选项仅限于Acrobat提供的任何选项。Acrobat文档说明了什么?因此没有每个“好”查看器都能处理的“pdf标准”?定义“好”查看器。我只知道有3个Adobe PDF查看器试图实现Adobe Acrobat支持的大部分功能。谢谢!没有证书是否可能?不能肯定,但是,如果你不使用证书,你将如何提供密钥?@Michael-certificates是Adobe Acrobat处理加密的方式。我想pdf查看器市场上的3-4家主要厂商也会以类似的方式实现它。iTextSharp似乎能够做到这一点,这绝对是可能的。iTextSharp仅对开源应用程序免费。对于其他用途,应购买商业许可证。