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

Reply via email to