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