diff options
Diffstat (limited to 'core/src/test/java/org/spongycastle/crypto/prng/test/TestEntropySourceProvider.java')
-rw-r--r-- | core/src/test/java/org/spongycastle/crypto/prng/test/TestEntropySourceProvider.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/core/src/test/java/org/spongycastle/crypto/prng/test/TestEntropySourceProvider.java b/core/src/test/java/org/spongycastle/crypto/prng/test/TestEntropySourceProvider.java new file mode 100644 index 00000000..d630f4c9 --- /dev/null +++ b/core/src/test/java/org/spongycastle/crypto/prng/test/TestEntropySourceProvider.java @@ -0,0 +1,46 @@ +package org.spongycastle.crypto.prng.test; + +import org.spongycastle.crypto.prng.EntropySource; +import org.spongycastle.crypto.prng.EntropySourceProvider; + +public class TestEntropySourceProvider + implements EntropySourceProvider +{ + private final byte[] data; + private final boolean isPredictionResistant; + + protected TestEntropySourceProvider(byte[] data, boolean isPredictionResistant) + { + this.data = data; + this.isPredictionResistant = isPredictionResistant; + } + + public EntropySource get(final int bitsRequired) + { + return new EntropySource() + { + int index = 0; + + public boolean isPredictionResistant() + { + return isPredictionResistant; + } + + public byte[] getEntropy() + { + byte[] rv = new byte[bitsRequired / 8]; + + System.arraycopy(data, index, rv, 0, rv.length); + + index += bitsRequired / 8; + + return rv; + } + + public int entropySize() + { + return bitsRequired; + } + }; + } +} |