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

Passwords 我可以用RC4/AES 128位破解Adobe PDF密码加密吗?,passwords,itextsharp,cracking,Passwords,Itextsharp,Cracking,我已经用iTextsharp lib加密了一些pdf文件,使用AES 128位,密钥长度=16字节(保护读取)。有人能破解密码吗?或者一些应用程序能做到这一点? 非常感谢。您可以在此处设置两种可能的“密码”: 读取密码 编辑/修改密码 使用“编辑密码”根本不安全,因为可以读取整个文件(即使不知道密码,也可以使用PdfReader.unethicalreading=true;)然后创建一个新的未加密文件: using System.IO; using iTextSharp.text.pdf;

我已经用iTextsharp lib加密了一些pdf文件,使用AES 128位,密钥长度=16字节(保护读取)。有人能破解密码吗?或者一些应用程序能做到这一点?
非常感谢。

您可以在此处设置两种可能的“密码”:

  • 读取密码
  • 编辑/修改密码
使用“编辑密码”根本不安全,因为可以读取整个文件(即使不知道密码,也可以使用
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();
            }
        }
    }
}

这很好地回答了这一问题,但我使用的是Adobe的PDF加密选项。我不知道这与使用AES 128位加密文件是否相同?AES只是意味着高级加密标准-Adobe的版本将遵守该标准;不管是哪种方式,你都不太可能破解它,除非你有很强的计算能力(想想NSA的超级计算机)。