aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java')
-rw-r--r--libjava/classpath/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java15
1 files changed, 8 insertions, 7 deletions
diff --git a/libjava/classpath/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java b/libjava/classpath/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java
index 652793b04ff..1129d5dfb1b 100644
--- a/libjava/classpath/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java
+++ b/libjava/classpath/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java
@@ -39,12 +39,17 @@ exception statement from your version. */
package gnu.javax.crypto.jce.prng;
import gnu.java.security.Registry;
-import gnu.javax.crypto.prng.ARCFour;
+
+import gnu.java.security.jce.prng.SecureRandomAdapter;
+
import gnu.java.security.prng.IRandom;
import gnu.java.security.prng.LimitReachedException;
+
+import gnu.javax.crypto.prng.ARCFour;
import gnu.javax.crypto.prng.PRNGFactory;
import java.security.SecureRandomSpi;
+
import java.util.HashMap;
/**
@@ -71,17 +76,13 @@ public class ARCFourRandomSpi
public byte[] engineGenerateSeed(int numBytes)
{
- if (numBytes < 1)
- return new byte[0];
- byte[] result = new byte[numBytes];
- this.engineNextBytes(result);
- return result;
+ return SecureRandomAdapter.getSeed(numBytes);
}
public void engineNextBytes(byte[] bytes)
{
if (virgin)
- this.engineSetSeed(new byte[0]);
+ this.engineSetSeed(engineGenerateSeed(32));
try
{
adaptee.nextBytes(bytes, 0, bytes.length);