aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/FixedSecureRandom.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/FixedSecureRandom.java')
-rw-r--r--libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/FixedSecureRandom.java135
1 files changed, 0 insertions, 135 deletions
diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/FixedSecureRandom.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/FixedSecureRandom.java
deleted file mode 100644
index a11f5e91f..000000000
--- a/libraries/spongycastle/core/src/main/java/org/spongycastle/util/test/FixedSecureRandom.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package org.spongycastle.util.test;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.security.SecureRandom;
-
-public class FixedSecureRandom
- extends SecureRandom
-{
- private byte[] _data;
-
- private int _index;
- private int _intPad;
-
- public FixedSecureRandom(byte[] value)
- {
- this(false, new byte[][] { value });
- }
-
- public FixedSecureRandom(
- byte[][] values)
- {
- this(false, values);
- }
-
- /**
- * Pad the data on integer boundaries. This is necessary for the classpath project's BigInteger
- * implementation.
- */
- public FixedSecureRandom(
- boolean intPad,
- byte[] value)
- {
- this(intPad, new byte[][] { value });
- }
-
- /**
- * Pad the data on integer boundaries. This is necessary for the classpath project's BigInteger
- * implementation.
- */
- public FixedSecureRandom(
- boolean intPad,
- byte[][] values)
- {
- ByteArrayOutputStream bOut = new ByteArrayOutputStream();
-
- for (int i = 0; i != values.length; i++)
- {
- try
- {
- bOut.write(values[i]);
- }
- catch (IOException e)
- {
- throw new IllegalArgumentException("can't save value array.");
- }
- }
-
- _data = bOut.toByteArray();
-
- if (intPad)
- {
- _intPad = _data.length % 4;
- }
- }
-
- public void nextBytes(byte[] bytes)
- {
- System.arraycopy(_data, _index, bytes, 0, bytes.length);
-
- _index += bytes.length;
- }
-
- //
- // classpath's implementation of SecureRandom doesn't currently go back to nextBytes
- // when next is called. We can't override next as it's a final method.
- //
- public int nextInt()
- {
- int val = 0;
-
- val |= nextValue() << 24;
- val |= nextValue() << 16;
-
- if (_intPad == 2)
- {
- _intPad--;
- }
- else
- {
- val |= nextValue() << 8;
- }
-
- if (_intPad == 1)
- {
- _intPad--;
- }
- else
- {
- val |= nextValue();
- }
-
- return val;
- }
-
- //
- // classpath's implementation of SecureRandom doesn't currently go back to nextBytes
- // when next is called. We can't override next as it's a final method.
- //
- public long nextLong()
- {
- long val = 0;
-
- val |= (long)nextValue() << 56;
- val |= (long)nextValue() << 48;
- val |= (long)nextValue() << 40;
- val |= (long)nextValue() << 32;
- val |= (long)nextValue() << 24;
- val |= (long)nextValue() << 16;
- val |= (long)nextValue() << 8;
- val |= (long)nextValue();
-
- return val;
- }
-
- public boolean isExhausted()
- {
- return _index == _data.length;
- }
-
- private int nextValue()
- {
- return _data[_index++] & 0xff;
- }
-}