gwl3323405
Java的MD5加密方法

很使用的一个方法,相信开发java web的童鞋经常用吧。

[mw_shl_code=java,true]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[] btInput = s.getBytes();

// 获得MD5摘要算法的 MessageDigest 对象

MessageDigest mdInst = MessageDigest.getInstance("MD5");

// 使用指定的字节更新摘要

mdInst.update(btInput);

// 获得密文

byte[] md = mdInst.digest();

// 把密文转换成十六进制的字符串形式

int j = md.length;

char str[] = new char[j * 2];

int k = 0;

for (int i = 0; i < j; i++) {

byte byte0 = md;

str[k++] = hexDigits[byte0 >>> 4 & 0xf];

str[k++] = hexDigits[byte0 & 0xf];

}

return new String(str);

} catch (Exception e) {

e.printStackTrace();

return null;

}

}[/mw_shl_code]

风音洛洛
怎么可以用
展开Biu

neco 发表于 2012-8-10 15:35

= =表示 怎么可以用MD5加密?

即便用MD5也要进行加盐处理

不然 6位一下的数字和字母混合一定被破解 6位的 ...

所以说现在网站密码至少需要6位

[查看全文]
风音洛洛
果然可以破解
展开Biu

gwl3323405 发表于 2012-8-10 10:24

败了,果然可以破解,但这个貌似不能:C08DB54CD0D3E7072014E1D0E344F359,估计能破解简单的吧! ...

喂喂。。。能破解倒是能破解,但是去哪里找彩虹表跑啊

[查看全文]
风音洛洛
放一边不说
展开Biu

gregwym 发表于 2012-8-10 00:37

code放一边不说...MD5不能加密吧? 已经可以字典破解了

那种穷举的方式对任何存在公开的源码的加密算法都是可行的,即使是像MD5这样的不可逆的算法。话说回来加密方式无论多高科技,安全也只是相对的。在更高效安全的算法诞生之前,凑合着用吧

[查看全文]
neco
怎么可以用
展开Biu

= =表示 怎么可以用MD5加密?

即便用MD5也要进行加盐处理

不然 6位一下的数字和字母混合一定被破解 6位的都是免费的 8位以上也好不到哪里去

[查看全文]
gwl3323405
果然可以破解
展开Biu

败了,果然可以破解,但这个貌似不能:C08DB54CD0D3E7072014E1D0E344F359,估计能破解简单的吧!

[查看全文]
gwl3323405
真的假的
展开Biu

真的假的?我出个你破下:E807F1FCF82D132F9BB018CA6738A19F

[查看全文]
蓝宇轩
放一边不说
展开Biu

gregwym 发表于 2012-8-10 00:37

code放一边不说...MD5不能加密吧? 已经可以字典破解了

MD5的算法都是公开的;只是一些常用的简单的;如abc之内的已经是成为字典了;但是如果经过二次添加的话;破解的话;基本上很难~~

[查看全文]
gregwym
放一边不说
展开Biu

code放一边不说...MD5不能加密吧? 已经可以字典破解了

[查看全文]