我可以用RC4 / AES 128bits破解Adobe PDF密码加密吗?

时间:2012-04-15 15:06:47

标签: passwords itextsharp cracking

我用iTextsharp lib加密了一些pdf文件并使用AES 128位和密钥长度= 16bytes(保护读取)。任何人都可以破解密码或某些应用可以做到这一点? 非常感谢。

1 个答案:

答案 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();
            }
        }
    }
}