Frequently Asked Questions (FAQ)
A Message Digest is a fixed size numeric representation of the contents of a message, computed by a hash function. Message Digest is also commonly called as Hash or Hash value since it is computed by Cryptographic Hash function (Hash Algorithm).
A cryptographic hash function is a mathematical algorithm that maps data of arbitrary size (often called the "message") to a bit array of a fixed size (the "hash value", "hash", or "message digest"). It is designed to take a string of any length as input and produce a fixed-length hash value.
Hash function should meet the below criteria :
- It must be one way function. It is infeasible to generate a message that yields a given hash value (i.e. to reverse the process that generated the given hash value) other than by testing all possible messages.
- It must be computationally infeasible to find two messages that hash to the same digest.
- It must be deterministic, meaning that the same message always results in the same hash.
- Small change to a message should change the hash value so extensively that a new hash value appears uncorrelated with the old hash value
Some of the popular hash functions are Message Digest (MD), Secure Hash Function (SHA), RACE Integrity Primitives Evaluation Message Digest (RIPEMD) and Whirlpool.
- The MD family comprises of hash functions MD2, MD4, MD5 and MD6.
- The SHA Family comprises of four SHA algorithms; SHA-0, SHA-1, SHA-2, and SHA-3.
- SHA-2 family has four further SHA variants, SHA-224, SHA-256, SHA-384, and SHA-512.
- The RIPEMD family includes RIPEMD, RIPEMD-128, RIPEMD-160. RIPEMD-256, and RIPEMD-320.
- Three versions of Whirlpool are WHIRLPOOL-0, WHIRLPOOL-T, and WHIRLPOOL.
Note: The numbers in SHA-1 and RIPEMD family indicate how many bits the actual Message Digest is. For examle, if hash function SHA-256 is used to generate the Message Digest, then the length of the generated Message Digest would be 256 in bits. However, they are not displayed or used as it is in binary bits. Instead, they are converted into another usable formate and used.
Message digest is actually in binary formate(bits). In order to display it in an usable formate, it is converted into another formate using encoding. Encoding is a process of converting data from one format to another format.
The two widely used encoding formates in Cryptography world are hexadecimal and base64. The most common formate for message digest is hexadecimal. Message digest is usually rendered as hexadecimal number. For example, SHA-1 produces a 160-bit (20-byte) Message digest. It is typically rendered as a 40 digits long hexadecimal number.
Base64 encoding is also used in some applications. For example, base64 formate is used for in Subresource Integrity (SRI).
Message Digest is used to ensure the integrity of a message, file, data or software. It has wide variety of applications and below are some of areas where Message Digest is used.
- Subresource Integrity (SRI)
- Message Authentication Code (MAC)
- Digital Signatures
- File verification
- Message integrity.
- Password hashing
- Blockchain
- Version control system(Git)
You can use this website to generate message digest (Hash value) quickly and securely without sending any data to the server. If required, you can even disconnect from internet and generate message digest offline after the webpage is loaded. It will generate the message digest at client side without sending any data to server which might be programmed to capture your sensitve data like password (if entered) without your knowledge.
Note: This website uses SHA family of hash algorithms only.