我用iTextsharp lib加密了一些pdf文件并使用AES 128位和密钥长度= 16bytes(保护读取)。任何人都可以破解密码或某些应用可以做到这一点? 非常感谢。
答案 0 :(得分:2)
您可以在此处设置两种可能的“密码”:
使用“编辑密码”根本不安全,因为它可以读取整个文件(即使不知道密码,使用PdfReader.unethicalreading = true;
),然后创建一个新的未加密密码:
using System.IO;
using iTextSharp.text.pdf;
namespace PdfDecryptorCore
{
public class PasswordDecryptor
{
public string ReadPassword { set; get; }
public string PdfPath { set; get; }
public string OutputPdf { set; get; }
public void DecryptPdf()
{
PdfReader.unethicalreading = true;
PdfReader reader;
if(string.IsNullOrWhiteSpace(ReadPassword))
reader = new PdfReader(PdfPath);
else
reader = new PdfReader(PdfPath, System.Text.Encoding.UTF8.GetBytes(ReadPassword));
using (var stamper = new PdfStamper(reader, new FileStream(OutputPdf, FileMode.Create)))
{
stamper.Close();
}
}
}
}