MD5 (short for Message-Digest algorithm 5) is a commonly used cryptographic hash function with a
hash value of 128-bits long.
As an Internet standard (RFC 1321), MD5 has been used in many security applications, and is also
commonly used to check file integrity.
An MD5 hash is usually represented by a 32-character hexadecimal number.
MD5 was designed by Ronald Rivest in 1991 to replace the previous two hash functions, MD2 and MD4.
Features of MD5 hash
128-bit (16-byte) MD5 hashes (also known as message digests) represented by a string of 32 hexadecimal numbers.
Encrypting the same string with MD5 always produces the same hash (independent of time).
If two strings are the same, MD5 will produce two identical hash.
The hash cannot be decompiled.
Situations in which the MD5 can be used
MD5 has been used for many cases. One big use is storing passwords. Due to the insecurity of the database and the need to store the password somewhere, many passwords have been stored this way. For example, many Linux systems already use password hashing algorithms, such as MD5, to securely store passwords.
MD5 is also used as a checksum for files. In the Internet age, there are many insecure websites that can allow hackers to change download links and trick users into downloading fake files. One way to mitigate this is through the use of checksums, where a unique hash is generated based on the file and provided so that users can generate a hash based on the file they download and compare. If they match, then the file will be the same and not tampered with.
Should we use the MD5 ?
Although the hash cannot be decompiled, but the same string MD5 always returns the same hash, so to decrypt what the hash is, one will MD5 some string and then take that hash to compare the table. hashes to compare, if they are the same, the encrypted string is the result to be found.
With today's supercomputers, passwords that are less than 6 characters long (including only numbers and characters), encrypted with MD5 are easy to detect in a few seconds.
Therefore, if you use MD5 to encrypt a password, you must increase the length of the password and incorporate more special characters.
As long as you understand the characteristics of the hash, MD5 is still valuable in some specific situations.