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]

gwl3323405
是一种散列算法
展开Biu

1、好吧,MD5是一种散列算法,我这里用来编码用户密码没错吧。而且现在还是有java项目在用MD5编码的。

2、另:中国一位王姓女士破解了MD5,SHA-1等加密算法,好可疑!!

[查看全文]
风音洛洛
我印象里
展开Biu

gregwym 发表于 2012-8-13 22:23

我印象里, 好像还没有能正常使用的quantum computer

嘛。。就算是有也轮不到咱们用。和没有没区别

[查看全文]
gregwym
风音洛洛
展开Biu

风音洛洛 发表于 2012-8-13 08:04

quantum,,,好久不见的单词。。。我记得第一次接触的时候还是在初中。。。

话说我记得硅谷不是有量子计 ...

我印象里, 好像还没有能正常使用的quantum computer

[查看全文]
风音洛洛
我说的不是穷举
展开Biu

gregwym 发表于 2012-8-13 01:10

我说的不是穷举...`

另, 算法设计时如果不假设源码公开, 这本身就不是个好设计.

quantum,,,好久不见的单词。。。我记得第一次接触的时候还是在初中。。。

话说我记得硅谷不是有量子计算机了么,而且听说耗电量巨大。。

[查看全文]
gregwym
风音洛洛
展开Biu

风音洛洛 发表于 2012-8-12 07:26

那种穷举的方式对任何存在公开的源码的加密算法都是可行的,即使是像MD5这样的不可逆的算法。话说回来加 ...

我说的不是穷举...`

另, 算法设计时如果不假设源码公开, 这本身就不是个好设计.

安全是相对的我同意, 等quantum computer出现, 现有的所有加密算法都将不可靠. 但现在明显有更合适更专注于密码加密的算法, 当然不要用MD5.

[查看全文]
gregwym
本帖最后由
展开Biu

本帖最后由 gregwym 于 2012-8-13 01:04 编辑

MD5本身就不是用来加密密码的...`

参看:

dustwell.com/how-to-handle-passwords-bcrypt.html

Bcrypt介绍:

codahale.com/how-to-safely-store-a-password/

0 0`不让我发链接...

[查看全文]
gwl3323405
看度娘上说有个王女士破解了
展开Biu

看度娘上说有个王女士破解了MD5,SHA-1等5种密码!?真的假的?

[查看全文]
轻舟过
类似的杂凑算法挺多的
展开Biu

类似的杂凑算法挺多的,比如sha1什么的

[查看全文]