Java的MD5、SHA-1加密 博客分类: Java 加密 哈希算法 算法java哈希
严格地说,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");
}
}
推荐阅读
-
Java的MD5、SHA-1加密 博客分类: Java 加密 哈希算法 算法java哈希
-
Java的加密技术(BASE64与单向加密算法MD5,SHA,MAC)
-
JAVA加密算法实现用例 数字签名 博客分类: JDK 算法dsa签名HASH
-
JAVA 的MD5加密算法简单实现 博客分类: java 算法JavaBeanSecurityJ#
-
Java与C++实现相同的MD5加密算法简单实例
-
java,android,MD5加密算法的实现代码(16位,32位)
-
java,android,MD5加密算法的实现代码(16位,32位)
-
Java与C++实现相同的MD5加密算法简单实例
-
java加密算法--MD5加密和哈希散列带秘钥加密算法源码
-
详解Java中实现SHA1与MD5加密算法的基本方法