Is there a chance that we have a similar md5 hashes with a different value when it is converted? If yes How possible?And have you tried guys to decrypt before an MD5?
Forget md5 for a second. Instead imagine that your hashing function was really dumb and it just added up the value of each byte in the source data.
Now let's say that your source data is just two bytes: 0x01
and 0x02
, in that order. For these inputs the hashed value is 3
.
Problem is, you can get the same answer of 3
from lots of other byte sequences:
0x01 0x01 0x01
0x00 0x03
0x03
0x02 0x01
...you get the idea, and hopefully you also see that it's impossible to know with any certainty which of those possibilities could have been the original input when all you have is the hashed value, 3
.
With md5, the algorithm is far more complex and way better at avoiding collisions, but the principle is the same. It's called a "one-way hash" for this very reason.
A hash is just that: a one-way, condensed value of your input. Many inputs can produce the same output.
Yes, different source data can produce the same hash (a collision).
No, you cannot retrieve the original data from a hash.
If the MD5 is a salted MD5, there is a good chance it'll never be the same as a normal MD5 hash..
Yes, it's possible to produce 1 same hash with different input. This is called collision. Such collision is possible because the input size is greater than the output size. Read about birthday attack to know why is this a bad things in hashing.
here is a article about MD5 has been broken because of the collision.
精彩评论