MD5 Hash Calculator

Generate MD5 (Message-Digest algorithm 5 defined by RFC 1321) 128-bit / 16-byte message digest of a text string encoded in hex. MD5 should no longer be used as a secure hash function, use SHA-2 or SHA-3 family of algorithms instead.

MD5 hash:

Related Tools

More about MD5 Hash

MD5 is a cryptographic hash function that takes in a message of arbitrary length and produces a fixed-sized, 128-bit message digest. The process of generating an MD5 hash involves the following steps:

  1. Padding: The message is padded so that its length is a multiple of 512 bits. The padding is done in such a way that the resulting padded message is always at least 64 bits shorter than the next multiple of 512 bits.

  2. Message Processing: The padded message is divided into 512-bit blocks, and the MD5 compression function is applied to each block in turn. The compression function takes as input a 128-bit message digest and a 512-bit message block and produces a new 128-bit message digest.

  3. Initialization: Before processing the first block, the MD5 hash function initializes a 128-bit state buffer with four 32-bit words, A, B, C, and D.

  4. Round Processing: The compression function is applied to each block of the message, and the state buffer is updated after each block is processed. The compression function consists of four rounds, with each round consisting of 16 operations. Each operation involves bitwise logical operations, addition modulo 2^32, and circular shifts of the state buffer.

  5. Output: After processing all the blocks, the 128-bit message digest is obtained by concatenating the four 32-bit words in the state buffer in the order A, B, C, D.

The MD5 hash function is designed to be a one-way function, meaning that it is computationally infeasible to find two different messages that produce the same hash value. This property makes it useful for verifying the integrity of data by comparing the hash value of the original data with the hash value of the received data. However, MD5 is now considered insecure for cryptographic purposes due to known weaknesses in its design, and more secure hash functions such as SHA-2 and SHA-3 are recommended for new applications.