2012-04-15 4 views
0

Ich habe einige pdf-Dateien mit iTextsharp lib verschlüsselt und mit AES 128bits und Schlüssellänge = 16bytes (Schreibschutz). Kann jemand Passwort brechen oder kann eine App das tun? Vielen Dank.Kann ich die Adobe PDF-Kennwortverschlüsselung mit RC4/AES 128bits unterbrechen?

+0

http://stackoverflow.com/questions/1110152/breaking-aes-encryption-using-decrypted-datas dies ziemlich viel antwortet es – Mikey

+0

danke Mikey, aber ich verwende PDF-Verschlüsselungsoptionen von Adobe.Ich weiß nicht es ist das gleiche mit einer Datei mit AES 128bits zu verschlüsseln oder nicht? –

+0

AES bedeutet nur Advanced Encryption Standard - die Adobe-Version wird dem Standard entsprechen; So oder so - es ist unwahrscheinlich, dass Sie es knacken, es sei denn, Sie haben eine ernsthafte Rechenleistung (denken Sie an NSA-Supercomputer). – Mikey

Antwort

2

Sie können zwei Arten von möglichen „Passwörter“ eingestellt hier:

  • lesen Passwort
  • bearbeiten/ändern Passwort

ein „bearbeiten Passwort“ verwenden wird haupt nicht sicher, weil Es ist möglich, die gesamte Datei zu lesen (auch ohne das Passwort zu kennen, indem Sie PdfReader.unethicalreading = true; verwenden) und dann ein neues unverschlüsseltes zu erstellen:

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