If we can't decode the MD5 hash string, then what is the purpose of MD5 where can we use MD5.
To store data save in a database for example.
If you save your password using md5 and you compaire it with the password you enter and encrypt it is still the same password but you cant see in the database what is the password.
For example:
password = 123 md5 of 123 = fkdjafkldjslghrioawegh
if you try to log in and you enter 123 the md5 if it will still be the same and you can compair those. But if your database is hacked the hacker cant reed the password (123)
An decryptable file has the property that its always at least as big as the original file, a hash is much, much smaller.
This allows us the create a hash from a file that can prove the integrity of the file, without storing it.
There are many reasons not to store the file in encrypted or plain text:
As soon as an encrypted file falls in the wrong hands, they could try to decrypt it. There's no chance that's going to happen with a hash.
You simply don't need the file yourself, but maybe you're sending it to someone, and that person can proof it's integrity using the hash.
It allows you to determine whether the data you have (e.g., an entered password) is the same as some other data which is secret (e.g., the correct password) without requiring access to the secret data. In other words, it can be used to determine "is this user-entered password correct?" while also keeping the correct password secret. (Note that there are stronger hashing methods out there which should be used instead of md5 for this purpose these days, such as sha* and bcrypt. With modern hardware, it's fairly easy to throw millions of passwords per second at an md5 hash until you find one that matches the correct password.)
It allows you to verify the integrity of a transmitted file by comparing the md5 hash of the original file with the md5 hash of the data that was received. If the hashes are different, the received data was not the same as the sent data, so you know to re-send it; if they're the same, you can be reasonably certain that the sent and received data are identical.
Good hash functions like MD5 can be used for identification. See this question. Under certain conditions you can assume that equal hashes mean equal data blocks.
MD5 is mainly used to maintain the integrity of files when it is send from 1 machine to another machine,to detect whether any man in middle third party have not modify the contents of files.
Basic example is : When you download any file from server server has MD5 calculated when it comes to you it again check for md5 values if md5 hash matches file is not corrupted or not modified by any third person.