c# - 如何为 PDF 文件设置不区分大小写的密码?

标签 c# pdf

使用下面的代码我可以为 PDF 文件设置密码但是应该不区分大小写,如何设置不区分大小写的密码?

string InputFile = strFilePath;
string OutputFile = strFilePathEncrypt;

using (Stream input = new FileStream(InputFile, FileMode.Open, FileAccess.Read, FileShare.Read))
{
       using (Stream output = new FileStream(OutputFile, FileMode.Create, FileAccess.Write, FileShare.None))
       {                
           PdfReader reader = new PdfReader(input);
           PdfEncryptor.Encrypt(reader, output, false, strPDFPassword, "secret", PdfWriter.ALLOW_SCREENREADERS);
           reader.Close();
       }
}               

最佳答案

使用 PDF 规范中的标准加密算法无法完成您想做的事情。

PDF 允许使用两种算法之一加密文档,RC4 或 AES。两种算法都是 symetric-key algorithms ,这意味着它们使用相同的 key 来加密和解密数据。为了“不区分大小写”,您需要有几个可能的 key 来解密相同的数据,这两种算法都不允许这样做。

关于c# - 如何为 PDF 文件设置不区分大小写的密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30053711/

相关文章:

c# - TCP 上的字节 [256] 限制为 5 个字符

pdf - Ghostscript:将 PDF 转换为 CMYK,保留文本的纯黑色

java - 编译itext提供的示例程序

c# - 在 C# 中将字段声明为位(作为单个位,而不是字节倍数)

c# - 如何从文本文件中删除逗号的最后一个索引?

c# - 从 LINQ 语句获取单个结果

node.js - Express.js 中的 res.download 文件发生了什么?

php - FPDF - 找不到类 'App\Http\Controllers\FPDF'

javascript - 在新选项卡中打开 base64 pdf 会卡住某些文件大小的选项卡

c# - RavenDB 使用 JsonIgnore 属性存储属性