[kaffe] CVS kaffe (robilad): Small fixlets for SHA1PRNG
Kaffe CVS
cvs-commits at kaffe.org
Wed Feb 23 11:07:21 PST 2005
PatchSet 5591
Date: 2005/02/23 19:02:35
Author: robilad
Branch: HEAD
Tag: (none)
Log:
Small fixlets for SHA1PRNG
2005-02-23 Dalibor Topic <robilad at kaffe.org>
* test/regression/SecureRandomTest.java (SecureRandomTest):
Improved error message slightly.
* libraries/javalib/gnu/java/security/provider/SHA1PRNG.java
(SEED_SIZE, DATA_SIZE): new constants. Use them instead of
magic numbers.
(SHA1PRNG) Added documentation.
Members:
ChangeLog:1.3635->1.3636
libraries/javalib/gnu/java/security/provider/SHA1PRNG.java:1.1->1.2
test/regression/SecureRandomTest.java:1.1->1.2
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.3635 kaffe/ChangeLog:1.3636
--- kaffe/ChangeLog:1.3635 Tue Feb 22 11:05:52 2005
+++ kaffe/ChangeLog Wed Feb 23 19:02:35 2005
@@ -1,3 +1,13 @@
+2005-02-23 Dalibor Topic <robilad at kaffe.org>
+
+ * test/regression/SecureRandomTest.java (SecureRandomTest):
+ Improved error message slightly.
+
+ * libraries/javalib/gnu/java/security/provider/SHA1PRNG.java
+ (SEED_SIZE, DATA_SIZE): new constants. Use them instead of
+ magic numbers.
+ (SHA1PRNG) Added documentation.
+
2005-02-22 Dalibor Topic <robilad at kaffe.org>
Resynced with GNU Classpath.
Index: kaffe/libraries/javalib/gnu/java/security/provider/SHA1PRNG.java
diff -u kaffe/libraries/javalib/gnu/java/security/provider/SHA1PRNG.java:1.1 kaffe/libraries/javalib/gnu/java/security/provider/SHA1PRNG.java:1.2
--- kaffe/libraries/javalib/gnu/java/security/provider/SHA1PRNG.java:1.1 Thu Sep 23 00:22:02 2004
+++ kaffe/libraries/javalib/gnu/java/security/provider/SHA1PRNG.java Wed Feb 23 19:02:39 2005
@@ -52,7 +52,18 @@
int seedpos;
int datapos;
private boolean seeded = false; // set to true when we seed this
-
+ /**
+ * The size of seed.
+ */
+ private static final int SEED_SIZE = 20;
+ /**
+ * The size of data.
+ */
+ private static final int DATA_SIZE = 40;
+
+ /**
+ * Create a new SHA-1 pseudo-random number generator.
+ */
public SHA1PRNG()
{
try {
@@ -63,17 +74,17 @@
throw new InternalError ("no SHA implementation found");
}
- seed = new byte[20];
+ seed = new byte[SEED_SIZE];
seedpos = 0;
- data = new byte[40];
- datapos = 20; // try to force hashing a first block
+ data = new byte[DATA_SIZE];
+ datapos = SEED_SIZE; // try to force hashing a first block
}
public void engineSetSeed(byte[] seed)
{
for(int i = 0; i < seed.length; i++)
- this.seed[seedpos++ % 20] ^= seed[i];
- seedpos %= 20;
+ this.seed[seedpos++ % SEED_SIZE] ^= seed[i];
+ seedpos %= SEED_SIZE;
}
@@ -83,7 +94,7 @@
int loc = 0;
while (loc < bytes.length)
{
- int copy = Math.min (bytes.length - loc, 20 - datapos);
+ int copy = Math.min (bytes.length - loc, SEED_SIZE - datapos);
if (copy > 0)
{
@@ -94,9 +105,9 @@
else
{
// No data ready for copying, so refill our buffer.
- System.arraycopy( seed, 0, data, 20, 20);
+ System.arraycopy( seed, 0, data, SEED_SIZE, SEED_SIZE);
byte[] digestdata = digest.digest( data );
- System.arraycopy( digestdata, 0, data, 0, 20);
+ System.arraycopy( digestdata, 0, data, 0, SEED_SIZE);
datapos = 0;
}
}
@@ -117,7 +128,7 @@
new Random(0L).nextBytes(seed);
byte[] digestdata = digest.digest(data);
- System.arraycopy(digestdata, 0, data, 0, 20);
+ System.arraycopy(digestdata, 0, data, 0, SEED_SIZE);
seeded = true;
}
Index: kaffe/test/regression/SecureRandomTest.java
diff -u kaffe/test/regression/SecureRandomTest.java:1.1 kaffe/test/regression/SecureRandomTest.java:1.2
--- kaffe/test/regression/SecureRandomTest.java:1.1 Fri Feb 21 09:51:11 2003
+++ kaffe/test/regression/SecureRandomTest.java Wed Feb 23 19:02:39 2005
@@ -48,8 +48,9 @@
}
if( match )
{
- throw new Error("The \"secure\" random isn't! "
- + toPlainString(data, Integer.MAX_VALUE));
+ throw new Error("The \"secure\" random isn't! : lpc= " + lpc
+ + " lpc2 = " + lpc2
+ + " data = " + toPlainString(data, Integer.MAX_VALUE));
}
}
}
More information about the kaffe
mailing list