Package com.scurrilous.circe
Class Hashes
- java.lang.Object
-
- com.scurrilous.circe.Hashes
-
public final class Hashes extends java.lang.Object
Static methods to obtain various forms of abstract hash functions. Each method usesHashProviders.best(com.scurrilous.circe.HashParameters)
to find the best provider for the given parameters and hash interface, and then calls the corresponding method on that provider.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static StatefulHash
createStateful(HashParameters params)
Creates a stateful hash function using the given parameters.static IncrementalIntHash
getIncrementalInt(HashParameters params)
Requests an incremental, stateless, int-width hash function with the given parameters.static IncrementalLongHash
getIncrementalLong(HashParameters params)
Requests an incremental, stateless, long-width hash function with the given parameters.static StatelessIntHash
getStatelessInt(HashParameters params)
Requests a stateless, int-width hash function with the given parameters.static StatelessLongHash
getStatelessLong(HashParameters params)
Requests a stateless, long-width hash function with the given parameters.
-
-
-
Method Detail
-
createStateful
public static StatefulHash createStateful(HashParameters params)
Creates a stateful hash function using the given parameters.- Parameters:
params
- the hash algorithm parameters- Returns:
- a stateful hash function
- Throws:
java.lang.UnsupportedOperationException
- if no provider supports the parameters
-
getStatelessInt
public static StatelessIntHash getStatelessInt(HashParameters params)
Requests a stateless, int-width hash function with the given parameters. Because not all stateless hash functions are incremental, this method may be able to return implementations not supported by or more optimized thangetIncrementalInt(com.scurrilous.circe.HashParameters)
.- Parameters:
params
- the hash algorithm parameters- Returns:
- a stateless int-width hash function
- Throws:
java.lang.UnsupportedOperationException
- if no provider supports the parameters as aStatelessIntHash
-
getStatelessLong
public static StatelessLongHash getStatelessLong(HashParameters params)
Requests a stateless, long-width hash function with the given parameters. Because not all stateless hash functions are incremental, this method may be able to return implementations not supported by or more optimized thangetIncrementalLong(com.scurrilous.circe.HashParameters)
.Note that this method may return a less efficient hash function than
getStatelessInt(com.scurrilous.circe.HashParameters)
for hashes of 32 bits or less.- Parameters:
params
- the hash algorithm parameters- Returns:
- a stateless long-width hash function
- Throws:
java.lang.UnsupportedOperationException
- if no provider supports the parameters as aStatelessLongHash
-
getIncrementalInt
public static IncrementalIntHash getIncrementalInt(HashParameters params)
Requests an incremental, stateless, int-width hash function with the given parameters. Note that although an algorithm may be available in incremental form, some potentially more optimized implementations may not support that form, and therefore cannot be provided be this method.- Parameters:
params
- the hash algorithm parameters- Returns:
- a stateful int-width hash function
- Throws:
java.lang.UnsupportedOperationException
- if no provider supports the parameters as anIncrementalIntHash
-
getIncrementalLong
public static IncrementalLongHash getIncrementalLong(HashParameters params)
Requests an incremental, stateless, long-width hash function with the given parameters. Note that although an algorithm may be available in incremental form, some potentially more optimized implementations may not support that form, and therefore cannot be provided be this method.Also note that this method may return a less efficient hash function than
getIncrementalInt(com.scurrilous.circe.HashParameters)
for hashes of 32 bits or less.- Parameters:
params
- the hash algorithm parameters- Returns:
- a stateful long-width hash function
- Throws:
java.lang.UnsupportedOperationException
- if no provider supports the parameters as anIncrementalLongHash
-
-