Author: j16sdiz
Date: 2008-05-25 13:24:57 +0000 (Sun, 25 May 2008)
New Revision: 20092
Modified:
branches/saltedhashstore/freenet/src/freenet/support/BloomFilter.java
Log:
Generate 4 hash values from a SHA-256
Modified: branches/saltedhashstore/freenet/src/freenet/support/BloomFilter.java
===================================================================
--- branches/saltedhashstore/freenet/src/freenet/support/BloomFilter.java
2008-05-25 11:40:00 UTC (rev 20091)
+++ branches/saltedhashstore/freenet/src/freenet/support/BloomFilter.java
2008-05-25 13:24:57 UTC (rev 20092)
@@ -79,10 +79,16 @@
MessageDigest md = SHA256.getMessageDigest();
try {
+ ByteBuffer bf = null;
+
for (int i = 0; i < k; i++) {
- md.update(key);
- md.update((byte) i);
- hashes[i] = (int)
((Fields.bytesToLong(md.digest()) & Long.MAX_VALUE) % length);
+ if (bf == null || bf.remaining() < 8) {
+ md.update(key);
+ md.update((byte) i);
+ bf = ByteBuffer.wrap(md.digest());
+ }
+
+ hashes[i] = (int) ((bf.getLong() &
Long.MAX_VALUE) % length);
}
} finally {
SHA256.returnMessageDigest(md);