Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用C语言加密PDF文档#_C#_Pdf_Encryption - Fatal编程技术网

C# 用C语言加密PDF文档#

C# 用C语言加密PDF文档#,c#,pdf,encryption,C#,Pdf,Encryption,是否可以使用对称加密对pdf的内容进行加密?acrobat等是否支持自动解密 我需要一个c#/.net中的api来加密文件的内容 亲切的问候 Michael您不希望手动执行此类操作,而是希望使用PDF库 我不知道是否有支持本机/Adobe PDF加密的软件,但您可以查看并检查它们的功能。是的,使用证书 如果您购买了功能齐全的Acrobat版本,您可以使用其JavaScript界面为您完成工作(.) 它似乎可以使用或不使用证书,并且是开源的,因此可能是一个不错的选择。他们肯定会把这本书作为一个很

是否可以使用对称加密对pdf的内容进行加密?acrobat等是否支持自动解密

我需要一个c#/.net中的api来加密文件的内容

亲切的问候
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仅对开源应用程序免费。对于其他用途,应购买商业许可证。