public class MD5
extends java.lang.Object
This class takes as input a message of arbitrary length and produces as output a 128-bit "fingerprint" or "message digest" of the input. It is conjectured that it is computationally infeasible to produce two messages having the same message digest, or to produce any message having a given pre-specified target message digest. The MD5 algorithm is intended for digital signature applications, where a large file must be "compressed" in a secure manner before being encrypted with a private (secret) key under a public-key cryptosystem such as RSA.
For more information see RFC1321.
MD5OutputStream
,
MD5InputStream
Constructor and Description |
---|
MD5()
Class constructor
|
Modifier and Type | Method and Description |
---|---|
byte[] |
getHash()
Gets this hash sum as an array of 16 bytes.
|
static byte[] |
getHash(byte[] b)
Gets the MD5 hash of the given byte array.
|
static byte[] |
getHash(java.io.File f)
Gets the MD5 hash of the given file.
|
static byte[] |
getHash(java.io.InputStream in)
Gets the MD5 hash the data on the given InputStream.
|
static byte[] |
getHash(java.lang.String s)
Gets the MD5 hash of the given String.
|
static byte[] |
getHash(java.lang.String s,
java.lang.String enc)
Gets the MD5 hash of the given String.
|
java.lang.String |
getHashString()
Returns 32-character hex representation of this hash.
|
static java.lang.String |
getHashString(byte[] b)
Gets the MD5 hash of the given byte array.
|
static java.lang.String |
getHashString(java.io.File f)
Gets the MD5 hash of the given file.
|
static java.lang.String |
getHashString(java.io.InputStream in)
Gets the MD5 hash the data on the given InputStream.
|
static java.lang.String |
getHashString(java.lang.String s)
Gets the MD5 hash of the given String.
|
static java.lang.String |
getHashString(java.lang.String s,
java.lang.String enc)
Gets the MD5 hash of the given String.
|
static void |
main(java.lang.String[] args)
Command line program that will take files as arguments
and output the MD5 sum for each file.
|
void |
reset()
Reset the MD5 sum to its initial state.
|
java.lang.String |
toString()
Returns 32-character hex representation of this hash.
|
void |
update(byte b)
Updates this hash with a single byte.
|
void |
update(byte[] buffer)
Update this hash with the given data.
|
void |
update(byte[] buffer,
int length)
Update this hash with the given data.
|
void |
update(byte[] buffer,
int offset,
int length)
Update this hash with the given data.
|
void |
update(java.lang.String s)
Update this hash with a String.
|
void |
update(java.lang.String s,
java.lang.String enc)
Update this hash with a String.
|
public static void main(java.lang.String[] args)
args
- command line argumentspublic byte[] getHash()
public java.lang.String getHashString()
public static byte[] getHash(byte[] b)
b
- byte array for which an MD5 hash is desired.public static java.lang.String getHashString(byte[] b)
b
- byte array for which an MD5 hash is desired.public static byte[] getHash(java.io.InputStream in) throws java.io.IOException
in
- byte array for which an MD5 hash is desired.java.io.IOException
- if an I/O error occurs.public static java.lang.String getHashString(java.io.InputStream in) throws java.io.IOException
in
- byte array for which an MD5 hash is desired.java.io.IOException
- if an I/O error occurs.public static byte[] getHash(java.io.File f) throws java.io.IOException
f
- file for which an MD5 hash is desired.java.io.IOException
- if an I/O error occurs.public static java.lang.String getHashString(java.io.File f) throws java.io.IOException
f
- file array for which an MD5 hash is desired.java.io.IOException
- if an I/O error occurs.public static byte[] getHash(java.lang.String s)
s
- String for which an MD5 hash is desired.public static java.lang.String getHashString(java.lang.String s)
s
- String for which an MD5 hash is desired.public static byte[] getHash(java.lang.String s, java.lang.String enc) throws java.io.UnsupportedEncodingException
s
- String for which an MD5 hash is desired.enc
- The name of a supported character encoding.java.io.UnsupportedEncodingException
- If the named encoding is not supported.public static java.lang.String getHashString(java.lang.String s, java.lang.String enc) throws java.io.UnsupportedEncodingException
s
- String for which an MD5 hash is desired.enc
- The name of a supported character encoding.java.io.UnsupportedEncodingException
- If the named encoding is not supported.public void reset()
public java.lang.String toString()
toString
in class java.lang.Object
public void update(byte[] buffer, int offset, int length)
If length bytes are not available to be hashed, as many bytes as possible will be hashed.
buffer
- Array of bytes to be hashed.offset
- Offset to buffer array.length
- number of bytes to hash.public void update(byte[] buffer, int length)
If length bytes are not available to be hashed, as many bytes as possible will be hashed.
buffer
- Array of bytes to be hashed.length
- number of bytes to hash.public void update(byte[] buffer)
buffer
- Array of bytes to be hashed.public void update(byte b)
b
- byte to be hashed.public void update(java.lang.String s)
s
- String to be hashed.public void update(java.lang.String s, java.lang.String enc) throws java.io.UnsupportedEncodingException
s
- String to be hashed.enc
- The name of a supported character encoding.java.io.UnsupportedEncodingException
- If the named encoding is not supported.Copyright (c) 2001-2020 by Stephen Ostermiller