iTextsharp libでいくつかのpdfファイルを暗号化し、AES 128ビットとキーの長さ= 16バイト(読み取りを保護)を使用しています。誰でもパスワードを破ることができますか、それともアプリがそれを行うことができますか? ありがとうございます。
質問する
5705 次
1 に答える
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();
}
}
}
}
于 2012-04-16T06:24:22.183 に答える