首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java的MD5、SHA-一加密

2013-11-08 
Java的MD5、SHA-1加密严格地说,MD5,SHA1非加密算法,它们都不可逆:但不能阻止山大的女博士王某某的哈希碰撞~

Java的MD5、SHA-1加密

严格地说,MD5,SHA1非加密算法,它们都不可逆:

但不能阻止山大的女博士王某某的哈希碰撞~ 我擦~ 反正MD5也不安全了==

Java实现算法如下:

MD5(Message Digest algorithm 5,信息摘要算法)

SHA(Secure Hash Algorithm,安全散列算法)

?

例子:

package com.md5;

import java.math.BigInteger;
import java.security.MessageDigest;

public class Md5 {
public String makeMD5(String password) {
?? MessageDigest md;
?? try {
??? // 生成一个MD5加密计算摘要
??? md = MessageDigest.getInstance("md5"); // 同样可以使用SHA1
??? // 计算md5函数
??? md.update(password.getBytes());
??? // digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符
??? // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值
??? String pwd = new BigInteger(1, md.digest()).toString(16); //参数也可不只用16可改动,当然结果也不一样了
??? System.err.println(pwd);
??? return pwd;
?? } catch (Exception e) {
??? e.printStackTrace();
?? }
?? return password;
}

public static void main(String[] args) {
?? Md5 md5 = new Md5();
?? md5.makeMD5("123456");
}
}

1 楼 kingsmalltwo 2012-02-16   UUID唯一标识。

热点排行