加密的密码可以破解吗?

一只独孤的程序猿 2011-09-22 05:34:14
9e3701ff10160e5111b9cdfb65b2003d
这个是我在数据库里面看的一段加密过的密码,我怎么翻译为正常的,可以处理吗?
...全文
275 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
cwmwss 2011-09-24
  • 打赏
  • 举报
回复
叫王小云姐姐帮你解吧
安心逍遥 2011-09-23
  • 打赏
  • 举报
回复
呵呵,可以破解的,不过那是超级高深认识才会,你可以网上搜一下md5破解,不过只是介绍

是中国一位教授破解的,在国际科学大会上宣布的

niuniu20008 2011-09-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 shine333 的回复:]
基本上没办法。
这个不是加密(加密可以解密),这个叫摘要,应该是MD5。
比如123456的MD5是
e10adc3949ba59abbe56e057f20f883e

下次登录的时候,就是直接把你输入的密码再MD5一次,比如你输入12345,得到的是
827ccb0eea8a706c4c34a16891f84e7b
与数据库保存的md5不符,登录失败。

这样做的好处是,即使数……
[/Quote]
就是这个道理,你输入的密码是个字符串,然后自己写个MD5工具类,生成一个新的字符串,这个新的字符串与数据库里的那个比较
这是我的一个MD5工具类

package com.asia.util;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;

public class MD5Utils {

public static byte[] md5(byte[] data) {
try {
MessageDigest md = MessageDigest.getInstance("md5");
md.update(data);
return md.digest();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return new byte[] {};
}

public static String md5(String data) {
try {
byte[] md5 = md5(data.getBytes("utf-8"));
return toHexString(md5);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return "";
}

public static String toHexString(byte[] md5) {
StringBuilder buf = new StringBuilder();
for (byte b : md5) {
buf.append(leftPad(Integer.toHexString(b & 0xff), '0', 2));
}
return buf.toString();
}

public static String leftPad(String hex, char c, int size) {
char[] cs = new char[size];
Arrays.fill(cs, c);
System.arraycopy(hex.toCharArray(), 0, cs, cs.length - hex.length(),
hex.length());
return new String(cs);
}
}


用法如下

public class Test {

public static void main(String[] args) {
String str = "123456";
String newStr = MD5Utils.md5(str);
System.out.println(newStr);
// 打印结果:e10adc3949ba59abbe56e057f20f883e
}
}


其实在商业项目中不太会用MD5,因为可以猜密码的
甲壳虫 2011-09-23
  • 打赏
  • 举报
回复
暴力破解法,呵呵

还有一种方法是学学社会工程学,利用社会工程学的方法破解密码

最简单的,问设置密码的人
AaronLin98 2011-09-23
  • 打赏
  • 举报
回复
有啊,我看“md5在线解密”可解的, 简单的 123456 admin 都能解

收录内容 说明 数量
1-6位大小写字母+数字+特殊字符 收录100% 大于 1400亿
7位小写字母+数字 收录100% 大于 783亿
8位小写字母 收录100% 大于 2082亿

这些都行,其它的是部分可以~~
androidmvc 2011-09-23
  • 打赏
  • 举报
回复
这个要看你 加密的方式了

一md5 为例 md5 加密是单向加密 也就是不可解密的!!!


你可以看看其他的加密方式。。。
oowangfanoo 2011-09-23
  • 打赏
  • 举报
回复
要在命令中可以破解
hepeng_8 2011-09-23
  • 打赏
  • 举报
回复
你要去看看那个加密的算法是怎么写的,逆反加密方法就是解密了,在执行下就ok了!!!MD5是解不了的..................
Aston_Martin 2011-09-23
  • 打赏
  • 举报
回复
学习。
luckyzhangye 2011-09-23
  • 打赏
  • 举报
回复
mark~~
嵌入式开发 2011-09-23
  • 打赏
  • 举报
回复
采用碰撞
随风醉舞 2011-09-23
  • 打赏
  • 举报
回复
MD5加密,现在网上的MD5加密都不是免费的了!
softroad 2011-09-23
  • 打赏
  • 举报
回复
学习了。
QQ644486560 2011-09-22
  • 打赏
  • 举报
回复
有是有 但是不对外公布
cscxxx 2011-09-22
  • 打赏
  • 举报
回复
基本只是用来确保某段文档或软件是完整无缺
liuyuhua0066 2011-09-22
  • 打赏
  • 举报
回复
发现坦克兄对加密解密很在行
佩服
[Quote=引用 1 楼 shine333 的回复:]
基本上没办法。
这个不是加密(加密可以解密),这个叫摘要,应该是MD5。
比如123456的MD5是
e10adc3949ba59abbe56e057f20f883e

下次登录的时候,就是直接把你输入的密码再MD5一次,比如你输入12345,得到的是
827ccb0eea8a706c4c34a16891f84e7b
与数据库保存的md5不符,登录失败。

这样做的好处是,即使数……
[/Quote]
shine333 2011-09-22
  • 打赏
  • 举报
回复
基本上没办法。
这个不是加密(加密可以解密),这个叫摘要,应该是MD5。
比如123456的MD5是
e10adc3949ba59abbe56e057f20f883e

下次登录的时候,就是直接把你输入的密码再MD5一次,比如你输入12345,得到的是
827ccb0eea8a706c4c34a16891f84e7b
与数据库保存的md5不符,登录失败。

这样做的好处是,即使数据泄露,用户的密码明文也不会泄露出来

81,092

社区成员

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

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