Author: tilman
Date: Sat Aug 29 17:18:05 2026
New Revision: 1937626
Log:
PDFBOX-6247: use byte array method, as suggested by Valery Bokov; closes #505
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java
==============================================================================
---
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java
Sat Aug 29 17:18:02 2026 (r1937625)
+++
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java
Sat Aug 29 17:18:05 2026 (r1937626)
@@ -16,7 +16,6 @@
*/
package org.apache.pdfbox.pdmodel.encryption;
-import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.math.BigInteger;
@@ -841,7 +840,7 @@ public final class StandardSecurityHandl
{
iterationKey[j] = (byte)(iterationKey[j] ^ i);
}
- ByteArrayInputStream input = new
ByteArrayInputStream(result.toByteArray());
+ byte[] input = result.toByteArray();
result.reset();
encryptDataRC4(iterationKey, input, result);
}
@@ -879,7 +878,7 @@ public final class StandardSecurityHandl
byte[] paddedUser = truncateOrPad( userPassword );
ByteArrayOutputStream encrypted = new ByteArrayOutputStream();
- encryptDataRC4(rc4Key, new ByteArrayInputStream(paddedUser),
encrypted);
+ encryptDataRC4(rc4Key, paddedUser, encrypted);
if( encRevision == 3 || encRevision == 4 )
{
@@ -891,7 +890,7 @@ public final class StandardSecurityHandl
{
iterationKey[j] = (byte)(iterationKey[j] ^ (byte)i);
}
- ByteArrayInputStream input = new ByteArrayInputStream(
encrypted.toByteArray() );
+ byte[] input = encrypted.toByteArray();
encrypted.reset();
encryptDataRC4(iterationKey, input, encrypted );
}