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