Package org.h2.dev.hash
Class MinimalPerfectHash.StringHash
- java.lang.Object
-
- org.h2.dev.hash.MinimalPerfectHash.StringHash
-
- All Implemented Interfaces:
MinimalPerfectHash.UniversalHash<java.lang.String>
- Enclosing class:
- MinimalPerfectHash<K>
public static class MinimalPerfectHash.StringHash extends java.lang.Object implements MinimalPerfectHash.UniversalHash<java.lang.String>
A sample hash implementation for integer keys.
-
-
Constructor Summary
Constructors Constructor Description StringHash()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static intgetFastHash(java.lang.String o, int index, int seed)A cryptographically weak hash function.static intgetSipHash24(byte[] b, int start, int end, long k0, long k1)A cryptographically relatively secure hash function.static intgetSipHash24(java.lang.String o, long k0, long k1)A cryptographically relatively secure hash function.inthashCode(java.lang.String o, int index, int seed)Calculate the hash of the given object.
-
-
-
Method Detail
-
hashCode
public int hashCode(java.lang.String o, int index, int seed)Description copied from interface:MinimalPerfectHash.UniversalHashCalculate the hash of the given object.- Specified by:
hashCodein interfaceMinimalPerfectHash.UniversalHash<java.lang.String>- Parameters:
o- the objectindex- the hash function index (index 0 is used first, so the method should be very fast with index 0; index 1 and so on are only called when really needed)seed- the random seed (always the same for a hash table)- Returns:
- the hash value
-
getFastHash
public static int getFastHash(java.lang.String o, int index, int seed)A cryptographically weak hash function. It is supposed to be fast.- Parameters:
o- the stringindex- the hash function indexseed- the seed- Returns:
- the hash value
-
getSipHash24
public static int getSipHash24(java.lang.String o, long k0, long k1)A cryptographically relatively secure hash function. It is supposed to protected against hash-flooding denial-of-service attacks.- Parameters:
o- the stringk0- key 0k1- key 1- Returns:
- the hash value
-
getSipHash24
public static int getSipHash24(byte[] b, int start, int end, long k0, long k1)A cryptographically relatively secure hash function. It is supposed to protected against hash-flooding denial-of-service attacks.- Parameters:
b- the datastart- the start positionend- the end position plus onek0- key 0k1- key 1- Returns:
- the hash value
-
-