public class Haval extends BaseHash
The HAVAL message-digest algorithm is a variable output length, with variable number of rounds. By default, this implementation allows HAVAL to be used as a drop-in replacement for MD5.
References:
| Modifier and Type | Field and Description |
|---|---|
static int |
HAVAL_128_BIT |
static int |
HAVAL_160_BIT |
static int |
HAVAL_192_BIT |
static int |
HAVAL_224_BIT |
static int |
HAVAL_256_BIT |
static int |
HAVAL_3_ROUND |
static int |
HAVAL_4_ROUND |
static int |
HAVAL_5_ROUND |
static int |
HAVAL_VERSION |
| Constructor and Description |
|---|
Haval()
Calls the constructor with two argument using
HAVAL_128_BIT as
the value for the output size (i.e. |
Haval(int size)
Calls the constructor with two arguments using the designated output
size, and
HAVAL_3_ROUND for the value of number of rounds. |
Haval(int size,
int rounds)
Constructs a
Haval instance with the designated output
size (in bytes). |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
clone()
Returns a clone copy of this instance.
|
protected byte[] |
getResult()
Constructs the result from the contents of the current context.
|
protected byte[] |
padBuffer()
Returns the byte array to use as padding before completing a hash
operation.
|
protected void |
resetContext()
Resets the instance for future re-use.
|
boolean |
selfTest()
A basic test.
|
protected void |
transform(byte[] in,
int i)
The block digest transformation per se.
|
public static final int HAVAL_VERSION
public static final int HAVAL_128_BIT
public static final int HAVAL_160_BIT
public static final int HAVAL_192_BIT
public static final int HAVAL_224_BIT
public static final int HAVAL_256_BIT
public static final int HAVAL_3_ROUND
public static final int HAVAL_4_ROUND
public static final int HAVAL_5_ROUND
public Haval()
Calls the constructor with two argument using HAVAL_128_BIT as
the value for the output size (i.e. 128 bits, and
HAVAL_3_ROUND for the value of number of rounds.
public Haval(int size)
Calls the constructor with two arguments using the designated output
size, and HAVAL_3_ROUND for the value of number of rounds.
size - the output size in bytes of this instance.java.lang.IllegalArgumentException - if the designated output size is invalid.HAVAL_128_BIT,
HAVAL_160_BIT,
HAVAL_192_BIT,
HAVAL_224_BIT,
HAVAL_256_BITpublic Haval(int size,
int rounds)
Constructs a Haval instance with the designated output
size (in bytes). Valid output size values are 16,
20, 24, 28 and 32.
Valid values for rounds are in the range 3..5
inclusive.
size - the output size in bytes of this instance.rounds - the number of rounds to apply when transforming data.java.lang.IllegalArgumentException - if the designated output size is invalid,
or if the number of rounds is invalid.HAVAL_128_BIT,
HAVAL_160_BIT,
HAVAL_192_BIT,
HAVAL_224_BIT,
HAVAL_256_BIT,
HAVAL_3_ROUND,
HAVAL_4_ROUND,
HAVAL_5_ROUNDpublic java.lang.Object clone()
IMessageDigestReturns a clone copy of this instance.
clone in interface IMessageDigestclone in class BaseHashprotected void transform(byte[] in,
int i)
BaseHashThe block digest transformation per se.
protected byte[] padBuffer()
BaseHashReturns the byte array to use as padding before completing a hash operation.
protected byte[] getResult()
BaseHashConstructs the result from the contents of the current context.
protected void resetContext()
BaseHashresetContext in class BaseHashpublic boolean selfTest()
IMessageDigestA basic test. Ensures that the digest of a pre-determined message is equal to a known pre-computed value.
selfTest in interface IMessageDigestselfTest in class BaseHashCopyright © 2025. All rights reserved.