永发信息网

某字符串应用MD5加密成32位之后,如何对其进行解密?

答案:4  悬赏:50  手机版
解决时间 2021-02-15 09:36
  • 提问者网友:謫仙
  • 2021-02-15 04:33
求大虾们指教:某字符串应用MD5加密成32位之后,如何对其进行解密?
最佳答案
  • 五星知识达人网友:轮獄道
  • 2021-02-15 05:07
md5的哈希算法是不可逆的,也就是不能从密文推算出原文,所以判断密码正确与否时都会用测试密码生成密文,再与原密码的密文对比;
但是可以通过md5碰撞来碰运气;这个概率很低的;用md5的彩虹表的话可能速度会有提升,但是。。。彩虹表动不动几百G大小;也不是短时间能跑出来的;
全部回答
  • 1楼网友:煞尾
  • 2021-02-15 09:34
肿么没有大牛来帮忙
  • 2楼网友:野味小生
  • 2021-02-15 07:55
import java.security.*; public class md5{ public final static string md5(string s) { char hexdigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; try { byte[] strtemp = s.getbytes(); messagedigest mdtemp = messagedigest.getinstance("md5"); mdtemp.update(strtemp); byte[] md = mdtemp.digest(); int j = md.length; char str[] = new char[j * 2]; int k = 0; for (int i = 0; i < j; i++) { byte byte0 = md[i]; str[k++] = hexdigits[byte0 >>> 4 & 0xf]; str[k++] = hexdigits[byte0 & 0xf]; } return new string(str); } catch (exception e) { return null; } } } 调用的时候直接用md5.md5("需要加密的字符串")就行了,返回值是加密后的结果,string类型的~
  • 3楼网友:佘樂
  • 2021-02-15 06:42
MD5是HASH算法 不是加密算法 除了暴力尝试碰撞结果 别无他法 一般用彩虹表
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯