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);


Reply via email to