Name
MessageDigest
Synopsis
This class computes a message digest (also
known as a cryptographic checksum) for an arbitrary
sequence of bytes. Obtain a MessageDigest object
by calling one of the static getInstance(
)
factory methods and specifying the desired algorithm (e.g., SHA or
MD5) and, optionally, the desired provider. Next, specify the data to
be digested by calling any of the update( )
methods one or more times. Prior to Java 5.0, you must pass a
byte[ ] to update( ). In Java
5.0 and later, however, you can also use a
java.nio.ByteBuffer. This facilitates the
computation of message digests when using the New I/O API.
After you pass data to
update( ), call
digest( ),
which computes the message digest and returns it as an array of
bytes. If you have only one array of bytes to be digested, you can
pass it directly to digest( ) and skip the
update( ) step. When you call digest(
), the MessageDigest( ) object is reset
and is then ready to compute a new digest. You can also explicitly
reset a MessageDigest without computing the digest
by calling
reset( ). To compute
a digest for part of a message without resetting the
MessageDigest, clone the
MessageDigest and call digest(
) on the cloned copy. Note that not all implementations are
cloneable, so the clone( ) method may throw an
exception.
The MessageDigest class is often used in
conjunction with DigestInputStream and
DigestOutputStream, which automate the
update( ) calls for you.
Figure 14-24. java.security.MessageDigest
public ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access