MD5 is a hash, so it is a one-way cryptographic function. But I am not sure that MD5 has only one hash per input?
Web application stores the passwords hashed with MD5, but when the user enters the password how can the application give access to that user? As the users password will be a hash with another string which is different from the older one.
And how do MD5 dictionaries work? We can get the reverse of the input, but how does it actually work?
md5(1)will always give the same output. There is likely to be some other value which you can apply the md5 function to and get the same output hash, but that's OK - it's called a collision, and all general purpose hash functions have them, if you hash enough different values. – Matthew Oct 23 '17 at 16:28