diff options
author | Kenny Root <kroot@google.com> | 2013-08-15 15:17:27 -0700 |
---|---|---|
committer | Kenny Root <kroot@google.com> | 2013-09-05 10:35:44 -0700 |
commit | 341cfb18f9ef761eddbc87859583e19f09fbbfdd (patch) | |
tree | e50d9815ca359dd6891fde6c36d7176ab1efe984 | |
parent | 44e8930b48015aacbad027c5a8d9a4c7e00e329e (diff) | |
download | libcore-341cfb18f9ef761eddbc87859583e19f09fbbfdd.zip libcore-341cfb18f9ef761eddbc87859583e19f09fbbfdd.tar.gz libcore-341cfb18f9ef761eddbc87859583e19f09fbbfdd.tar.bz2 |
Make sure seed values use full range
(cherry picked from commit 004435719afbe62d7ce6b39d69181b5dd801d598)
Bug: 6642616
Change-Id: I773dd31d92207151df05122920170851fa021fd5
-rw-r--r-- | luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java b/luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java index 2420fbe..4d99d62 100644 --- a/luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java +++ b/luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java @@ -288,6 +288,11 @@ public class SHA1PRNG_SecureRandomImpl extends SecureRandomSpi implements Serial updateSeed(RandomBitsSupplier.getRandomBits(DIGEST_LENGTH)); nextBIndex = HASHBYTES_TO_USE; + // updateSeed(...) updates where the last word of the seed is, so we + // have to read it again. + lastWord = seed[BYTES_OFFSET] == 0 ? 0 + : (seed[BYTES_OFFSET] + extrabytes) >> 3 - 1; + } else if (state == SET_SEED) { System.arraycopy(seed, HASH_OFFSET, copies, HASHCOPY_OFFSET, |