Class MD5
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.
- Since:
- ostermillerutils 1.00.00
- Author:
- Santeri Paavolainen http://santtu.iki.fi/programs/md5/, Stephen Ostermiller https://ostermiller.org/contact.pl?regarding=Java+Utilities
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte[]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[]Gets the MD5 hash of the given file.static byte[]getHash(InputStream in) Gets the MD5 hash the data on the given InputStream.static byte[]Gets the MD5 hash of the given String.static byte[]Gets the MD5 hash of the given String.Returns 32-character hex representation of this hash.static StringgetHashString(byte[] b) Gets the MD5 hash of the given byte array.static StringGets the MD5 hash of the given file.static StringGets the MD5 hash the data on the given InputStream.static StringGets the MD5 hash of the given String.static StringgetHashString(String s, String enc) Gets the MD5 hash of the given String.static voidCommand line program that will take files as arguments and output the MD5 sum for each file.voidreset()Reset the MD5 sum to its initial state.toString()Returns 32-character hex representation of this hash.voidupdate(byte b) Updates this hash with a single byte.voidupdate(byte[] buffer) Update this hash with the given data.voidupdate(byte[] buffer, int length) Update this hash with the given data.voidupdate(byte[] buffer, int offset, int length) Update this hash with the given data.voidUpdate this hash with a String.voidUpdate this hash with a String.
-
Constructor Details
-
MD5
public MD5()Class constructor- Since:
- ostermillerutils 1.00.00
-
-
Method Details
-
main
Command line program that will take files as arguments and output the MD5 sum for each file.- Parameters:
args- command line arguments- Since:
- ostermillerutils 1.00.00
-
getHash
public byte[] getHash()Gets this hash sum as an array of 16 bytes.- Returns:
- Array of 16 bytes, the hash of all updated bytes.
- Since:
- ostermillerutils 1.00.00
-
getHashString
Returns 32-character hex representation of this hash.- Returns:
- String representation of this object's hash.
- Since:
- ostermillerutils 1.00.00
-
getHash
public static byte[] getHash(byte[] b) Gets the MD5 hash of the given byte array.- Parameters:
b- byte array for which an MD5 hash is desired.- Returns:
- Array of 16 bytes, the hash of all updated bytes.
- Since:
- ostermillerutils 1.00.00
-
getHashString
Gets the MD5 hash of the given byte array.- Parameters:
b- byte array for which an MD5 hash is desired.- Returns:
- 32-character hex representation the data's MD5 hash.
- Since:
- ostermillerutils 1.00.00
-
getHash
Gets the MD5 hash the data on the given InputStream.- Parameters:
in- byte array for which an MD5 hash is desired.- Returns:
- Array of 16 bytes, the hash of all updated bytes.
- Throws:
IOException- if an I/O error occurs.- Since:
- ostermillerutils 1.00.00
-
getHashString
Gets the MD5 hash the data on the given InputStream.- Parameters:
in- byte array for which an MD5 hash is desired.- Returns:
- 32-character hex representation the data's MD5 hash.
- Throws:
IOException- if an I/O error occurs.- Since:
- ostermillerutils 1.00.00
-
getHash
Gets the MD5 hash of the given file.- Parameters:
f- file for which an MD5 hash is desired.- Returns:
- Array of 16 bytes, the hash of all updated bytes.
- Throws:
IOException- if an I/O error occurs.- Since:
- ostermillerutils 1.00.00
-
getHashString
Gets the MD5 hash of the given file.- Parameters:
f- file array for which an MD5 hash is desired.- Returns:
- 32-character hex representation the data's MD5 hash.
- Throws:
IOException- if an I/O error occurs.- Since:
- ostermillerutils 1.00.00
-
getHash
Gets the MD5 hash of the given String. The string is converted to bytes using the current platform's default character encoding.- Parameters:
s- String for which an MD5 hash is desired.- Returns:
- Array of 16 bytes, the hash of all updated bytes.
- Since:
- ostermillerutils 1.00.00
-
getHashString
Gets the MD5 hash of the given String. The string is converted to bytes using the current platform's default character encoding.- Parameters:
s- String for which an MD5 hash is desired.- Returns:
- 32-character hex representation the data's MD5 hash.
- Since:
- ostermillerutils 1.00.00
-
getHash
Gets the MD5 hash of the given String.- Parameters:
s- String for which an MD5 hash is desired.enc- The name of a supported character encoding.- Returns:
- Array of 16 bytes, the hash of all updated bytes.
- Throws:
UnsupportedEncodingException- If the named encoding is not supported.- Since:
- ostermillerutils 1.00.00
-
getHashString
Gets the MD5 hash of the given String.- Parameters:
s- String for which an MD5 hash is desired.enc- The name of a supported character encoding.- Returns:
- 32-character hex representation the data's MD5 hash.
- Throws:
UnsupportedEncodingException- If the named encoding is not supported.- Since:
- ostermillerutils 1.00.00
-
reset
public void reset()Reset the MD5 sum to its initial state.- Since:
- ostermillerutils 1.00.00
-
toString
Returns 32-character hex representation of this hash. -
update
public void update(byte[] buffer, int offset, int length) Update this hash with the given data.If length bytes are not available to be hashed, as many bytes as possible will be hashed.
- Parameters:
buffer- Array of bytes to be hashed.offset- Offset to buffer array.length- number of bytes to hash.- Since:
- ostermillerutils 1.00.00
-
update
public void update(byte[] buffer, int length) Update this hash with the given data.If length bytes are not available to be hashed, as many bytes as possible will be hashed.
- Parameters:
buffer- Array of bytes to be hashed.length- number of bytes to hash.- Since:
- ostermillerutils 1.00.00
-
update
public void update(byte[] buffer) Update this hash with the given data.- Parameters:
buffer- Array of bytes to be hashed.- Since:
- ostermillerutils 1.00.00
-
update
public void update(byte b) Updates this hash with a single byte.- Parameters:
b- byte to be hashed.- Since:
- ostermillerutils 1.00.00
-
update
Update this hash with a String. The string is converted to bytes using the current platform's default character encoding.- Parameters:
s- String to be hashed.- Since:
- ostermillerutils 1.00.00
-
update
Update this hash with a String.- Parameters:
s- String to be hashed.enc- The name of a supported character encoding.- Throws:
UnsupportedEncodingException- If the named encoding is not supported.- Since:
- ostermillerutils 1.00.00
-