| java.lang.Object | ||
| ↳ | java.security.MessageDigestSpi | |
| ↳ | java.security.MessageDigest | |
Uses a one-way hash function to turn an arbitrary number of bytes into a fixed-length byte sequence. The original arbitrary-length sequence is the message, and the fixed-length byte sequence is the digest or message digest.
The basic pattern to digest an InputStream looks like this:
MessageDigest digester = MessageDigest.getInstance("MD5");
byte[] bytes = new byte[8192];
int byteCount;
while ((byteCount = in.read(bytes)) > 0) {
digester.update(bytes, 0, byteCount);
}
byte[] digest = digester.digest();
That is, after creating or resetting a MessageDigest you should call update(byte[], int, int) for each block of input data, and then call digest() to get the final digest. Note that calling digest resets the MessageDigest. Advanced users who want partial digests should clone their MessageDigest before calling digest.
This class is not thread-safe.
| Protected Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Constructs a new instance of
MessageDigest with the name of the algorithm to use.
|
||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Creates and returns a copy of this
Object.
|
||||||||||
|
|
Computes and stores the final hash value for this
MessageDigest.
|
||||||||||
|
|
Computes and returns the final hash value for this
MessageDigest.
|
||||||||||
|
|
Performs the final update and then computes and returns the final hash value for this
MessageDigest.
|
||||||||||
|
|
Returns the name of the algorithm of this
MessageDigest.
|
||||||||||
|
|
Returns the engine digest length in bytes.
|
||||||||||
|
|
Returns a new instance of
MessageDigest that utilizes the specified algorithm from the specified provider.
|
||||||||||
|
|
Returns a new instance of
MessageDigest that utilizes the specified algorithm from the specified provider.
|
||||||||||
|
|
Returns a new instance of
MessageDigest that utilizes the specified algorithm.
|
||||||||||
|
|
Returns the provider associated with this
MessageDigest.
|
||||||||||
|
|
Indicates whether to digest are equal by performing a simply byte-per-byte compare of the two digests.
|
||||||||||
|
|
Puts this
MessageDigest back in an initial state, such that it is ready to compute a one way hash value.
|
||||||||||
|
|
Returns a string containing a concise, human-readable description of this
MessageDigest including the name of its algorithm.
|
||||||||||
|
|
Updates this
MessageDigest using the given
input.
|
||||||||||
|
|
Updates this
MessageDigest using the given
byte[].
|
||||||||||
|
|
Updates this
MessageDigest using the given
byte.
|
||||||||||
|
|
Updates this
MessageDigest using the given
byte[].
|
||||||||||
| [Expand]
Inherited Methods
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class java.security.MessageDigestSpi
|
|||||||||||
From class java.lang.Object
|
|||||||||||
Constructs a new instance of MessageDigest with the name of the algorithm to use.
| algorithm | the name of algorithm to use |
|---|
Creates and returns a copy of this Object. The default implementation returns a so-called "shallow" copy: It creates a new instance of the same class and then copies the field values (including object references) from this instance to the new instance. A "deep" copy, in contrast, would also recursively clone nested objects. A subclass that needs to implement this kind of cloning should call super.clone() to create the new instance and then create deep copies of the nested, mutable objects.
| CloneNotSupportedException |
|---|
Computes and stores the final hash value for this MessageDigest. After the digest is computed the receiver is reset.
| buf | the buffer to store the result |
|---|---|
| offset | the index of the first byte in buf to store |
| len | the number of bytes allocated for the digest |
buf| DigestException | if an error occurs |
|---|---|
| IllegalArgumentException | if offset or len are not valid in respect to buf |
Computes and returns the final hash value for this MessageDigest. After the digest is computed the receiver is reset.
Performs the final update and then computes and returns the final hash value for this MessageDigest. After the digest is computed the receiver is reset.
| input | the byte array |
|---|
Returns the name of the algorithm of this MessageDigest.
MessageDigest Returns the engine digest length in bytes. If the implementation does not implement this function or is not an instance of Cloneable, 0 is returned.
0 Returns a new instance of MessageDigest that utilizes the specified algorithm from the specified provider.
| algorithm | the name of the algorithm to use |
|---|---|
| provider | the name of the provider |
MessageDigest that utilizes the specified algorithm from the specified provider| NoSuchAlgorithmException | if the specified algorithm is not available |
|---|---|
| NoSuchProviderException | if the specified provider is not available |
| NullPointerException | if algorithm is null |
| IllegalArgumentException | if provider == null || provider.isEmpty() |
Returns a new instance of MessageDigest that utilizes the specified algorithm from the specified provider.
| algorithm | the name of the algorithm to use |
|---|---|
| provider | the provider |
MessageDigest that utilizes the specified algorithm from the specified provider| NoSuchAlgorithmException | if the specified algorithm is not available |
|---|---|
| NullPointerException | if algorithm is null |
| IllegalArgumentException | if provider == null |
Returns a new instance of MessageDigest that utilizes the specified algorithm.
| algorithm | the name of the algorithm to use |
|---|
MessageDigest that utilizes the specified algorithm| NoSuchAlgorithmException | if the specified algorithm is not available |
|---|---|
| NullPointerException | if algorithm is null |
Returns the provider associated with this MessageDigest.
MessageDigest Indicates whether to digest are equal by performing a simply byte-per-byte compare of the two digests.
| digesta | the first digest to be compared |
|---|---|
| digestb | the second digest to be compared |
true if the two hashes are equal, false otherwise Puts this MessageDigest back in an initial state, such that it is ready to compute a one way hash value.
Returns a string containing a concise, human-readable description of this MessageDigest including the name of its algorithm.
MessageDigest Updates this MessageDigest using the given input.
| input | the ByteBuffer |
|---|
Updates this MessageDigest using the given byte[].
| input | the byte array |
|---|---|
| offset | the index of the first byte in input to update from |
| len | the number of bytes in input to update from |
| IllegalArgumentException | if offset or len are not valid in respect to input |
|---|
Updates this MessageDigest using the given byte.
| arg0 | the byte to update this MessageDigest with |
|---|
Updates this MessageDigest using the given byte[].
| input | the byte array |
|---|
| NullPointerException | if input is null |
|---|