2012-04-15 8 views
0

私はいくつかのPDFファイルをiTextsharpのlibで暗号化し、AES 128ビットとキーの長さ= 16バイトを使用しています(読書を保護してください)。 ありがとうございます。ので、全く安全ではありません「編集パスワード」を使用して、パスワード RC4/AES 128ビットでAdobe PDFパスワードの暗号化を解除できますか?

を変更/

  • 読み取りパスワード
  • 編集:

+0

http://stackoverflow.com/questions/1110152/breaking-aes-encryption-using-decrypted-dataこれはかなりお答えします – Mikey

+0

マイキーに感謝しますが、私はAdobeのPDF暗号化オプションを使用しています。わかりませんAES 128ビットのファイルを暗号化するかどうかは同じですか? –

+0

AESとはAdvanced Encryption Standardを意味します - Adob​​eのバージョンは標準に準拠します。いずれにしても、重大なコンピューティングパワー(NSAスーパーコンピュータと考える)を持っていなければ、それを解読することはまずありません。 – Mikey

答えて

2

あなたはここに可能「パスワード」の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(); 
      } 
     } 
    } 
} 
関連する問題