MD5 加密 解密 签名

changingshow 2014-06-27 09:56:52
public class MD5 {
public static final char[] digit = { '0', '1', '2', '3', '4', '5', '6',
'7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };

public static String getMD5(String str) {
if (str == null) {
return null;
}
MessageDigest md;
StringBuffer bf = new StringBuffer();
try {
md = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
return str;
}
byte[] b = md.digest(str.getBytes());
for (int i = 0; i < b.length; i++) {
bf.append(digit[(b[i] >>> 4) & 0x0F]);
bf.append(digit[b[i] & 0x0F]);
}
return bf.toString();
}

用这个方法加密getMD5(key+参数),知道key,能破解出参数吗?
...全文
630 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
空心兜兜 2014-07-07
  • 打赏
  • 举报
回复
MD5无解 网上说的也只是常见的一些明文
mrliu0905 2014-07-07
  • 打赏
  • 举报
回复
md5的是单向加密啊,这要是能给破了,那岂不是管理员也能偷窥用户密码了
lishikai500 2014-07-07
  • 打赏
  • 举报
回复
你可以认为MD5应该可以用作签名
Inhibitory 2014-07-07
  • 打赏
  • 举报
回复
数字签名的算法主要是用RSA。 MD5不能用于签名,因为MD5不是加密算法,签名的算法是要非对称加密的加密算法。
Joyce-Luo 2014-07-07
  • 打赏
  • 举报
回复
如果的MD5已经很不安全了,其实如果知道加密方式的话,就可以通过算法给破解了!只是基于职业道德所以大伙儿知道了也没有说出来,否则的话,这好多的网站要蛋疼了!
zhouzhun777 2014-07-07
  • 打赏
  • 举报
回复
别想太多了 如果知道原值的可能值 或者原值范围不是很大 把原来值加密后对比
拾叁L 2014-07-06
  • 打赏
  • 举报
回复
MD5不是双向的,所以没有办法解密呀.不过好像是说清华大学的哪个教授破解了md5加密算法
-江沐风- 2014-07-06
  • 打赏
  • 举报
回复
但看你的程序,应该是可以破解的,不过效率应该不会很高; 如今的MD5算法漏洞越来越多了,不是很安全了,或许还可以考虑一下MD6算法,不过MD6应该是没有广泛普及,不知道为啥;
ghods 2014-07-06
  • 打赏
  • 举报
回复
Hash算法(MD5属于一种Hash算法)是不可逆的。最主要的是它是多对一的映射。即1~无穷 映射到1~2^128(反正是有限值)。因此,通过映射值不可能知道原值。映射值相等,原值不一定相等,映射值不等,原值一定不等。
我是你同学123 2014-07-06
  • 打赏
  • 举报
回复
MD5是一种基于数学中的杂凑算法原理的不可逆算法,目前没法通过结果反算出原来的值,现在用的最多的破解方法就是枚举法和彩虹表,都是效率极低,而且成功率不高的方法,所以MD5计算得到的值没有好用的破解算法哈
快乐的2 2014-06-27
  • 打赏
  • 举报
回复
不能直接反向破解,但是可以暴力破解出你的参数值。(参数值长度短的情况下有被破解的可能)
rjbusiness 2014-06-27
  • 打赏
  • 举报
回复
看到标题我就蛋疼了,MD5能解密?
  • 打赏
  • 举报
回复
md5是不可逆的。虽然现在有破解的,但只是简单的字母或数字组合。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧