Author: tilman
Date: Sat Aug 29 17:17:59 2026
New Revision: 1937624

Log:
PDFBOX-6247: use byte array method, as suggested by Valery Bokov; closes #505

Modified:
   
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java

Modified: 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java
  Sat Aug 29 17:04:45 2026        (r1937623)
+++ 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java
  Sat Aug 29 17:17:59 2026        (r1937624)
@@ -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;
@@ -888,7 +887,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);
             }
@@ -926,7 +925,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 == REVISION_3 || encRevision == REVISION_4)
         {
@@ -938,7 +937,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