MD5 algorithm Decryption in java [duplicate]

爱⌒轻易说出口 提交于 2019-12-03 16:56:17

but for now my job is to find the way to decrypt it

Good luck. MD5 is a hash, which means a one-way, not necessarily bijective transformation, from input to output. MD5 is known to be weak but only for general collisions, and not for a chosen-hash attack. You can try every single possible input until you get the right hash(or a collision) but it is computationally expensive, and not a necessarily good idea. In addition, as a time-memory tradeoff, pre-generated rainbow tables may be used. They take long to generate, but have fast lookups. I will not provide a link them due to the controversy of using them, but you may obtain and acquire one freely, as long as you are within applicable laws in your jurisdiction. This process is still not a routine one, and isn't the best idea for a webapp or general application.

Have you looked into AES instead, which has a key, and encrypts, allowing decryption with that key?

You can't reverse the MD5 algorithm, what you can do tho is to look for collisions and hope you'll find one. The most common way to crack a md5 hash are the rainbow tables, where you compare your hash with an enormous collection of precomputed hashes hoping to find a match.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!