iTextsharp 라이브러리를 사용하여 PDF 파일을 보호하려면 다음 코드를 사용하고 있습니다. 그것은 또한 "짧은"암호를 작동긴 암호로 PDF 파일을 보호하는 iTextsharp
public Boolean ProtectPDF(String sourceFile, String newFile, String UserPassword, String OwnerPassword)
{
try
{
byte[] USER = System.Text.Encoding.ASCII.GetBytes(UserPassword);
byte[] OWNER = System.Text.Encoding.ASCII.GetBytes(OwnerPassword);
PdfReader reader = new PdfReader(sourceFile);
PdfStamper stamper = new PdfStamper(reader, new FileStream(newFile, FileMode.Create));
stamper.SetEncryption(USER, OWNER, PdfWriter.AllowPrinting, PdfWriter.ENCRYPTION_AES_128);
stamper.Close();
reader.Close();
return true;
}
catch (Exception)
{
return false;
}
}
같은 1234567890ABCDE = GHIJ12.
나는 "긴"암호를 적용하려고하면 다음과 같은 2017DgFLcnODOy8 = 7D- + 0 | Fk를/2 G- = 02D^XZ-D3S 2 @ |? WiuXjQJoRBU =, 난 발견에만 그 처음에는 32 자의 문자이 암호로 인식되었지만 입력 한 문자는 문제가되지 않지만 PDF 파일은 계속 열리는 것으로 보입니다.
PDF 또는 ITextsharp 라이브러리에 제한이 있습니까? 아니면 문제가 코드에 있습니까?
감사합니다.
다시 만나서 반가워요. 그렇다면 PDF가 처음 32 자까지만 암호로 인식된다는 뜻입니까? – Trowa
ISO 32000-1의 관련 부분을 추가하여 답변을 업데이트했습니다. 일단 PDF 2.0을 만들고 싶다면 iText 버전을 iText 7로 업그레이드해야합니다. 7.1 버전에서 PDF 2.0을 지원할 예정입니다 (곧 출시 예정). 그 순간부터 48 바이트 암호를 사용할 수 있습니다. –
설명 주셔서 감사합니다. iText 7로 업그레이드 할 것인지 결정하겠습니다. – Trowa