Java中使用MD5加密

Java中使用MD5加密

摘抄自:https://my.oschina.net/zjllovecode/blog/1592952

用户管理是一个框架要提供的基本功能,一个用户的基本信息包括登录名和密码。密码是不能直接以明文形式保存到数据库中的,必须加密。在加密算法上,使用MD5摘要算法,原因有二:

  1. 这个算法是单向的,即使得到密文,也无法推断出明文。
  2. 无论密码有多长,通过MD5计算之后得到的是一个固定长度的结果,有利于数据库的设计

java中提供了MD5算法的库很多,包括java本身就提供了java.security.MessageDigest类,还有其他的例如fast md5的实现。

既然使用了Spring,那就应该用它提供的算法。查了一下,Spring的确是提供了MD5实现的,方法如下

import org.springframework.util.DigestUtils;

...

String encodeStr = DigestUtils.md5DigestAsHex("mypassword".getBytes());

实现:

public class MD5 {

	//加入一个盐值,用户混淆
	private final static String salt = "sdaf6546y65l;uq234o;i";

	public static String getMd5(long message){
		String base = message + "/" + salt;
		String md5 = DigestUtils.md5DigestAsHex(base.getBytes());
		return md5;
	}

	public static void main(String[] args) {
		System.out.println(getMd5(123456));
	}
}

猜你喜欢

转载自blog.csdn.net/Ontheroad_/article/details/82963559