欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MD5加密算法-简单实现

程序员文章站 2024-03-19 09:59:22
...

数据摘要算法、数据指纹算法

MD5 特点:

◇ 任意长度的二进制数, 经过MD5加密计算后, 都可以得到一个128位长的二进制密文
◇ 相同的原文经过加密后得到的密文永远相同
◇ 不同的原文经过加密后得到的密文永远不同
◇ 只能从原文加密成密文, 密文永远也解不回原文

MD5加密算法在很多应用场景下都有所应用


MD5 应用:

1.创建MD5Utils工具类, 提供md5方法实现MD5加密功能

	 /**
	 * 使用md5的算法进行加密
	 */
	public static String md5(String plainText) {
		byte[] secretBytes = null;
		try {
			secretBytes = MessageDigest.getInstance("md5").digest(plainText.getBytes());
		} catch (NoSuchAlgorithmException e) {
			throw new RuntimeException("没有md5这个算法!");
		}
		String md5code = new BigInteger(1, secretBytes).toString(16);
		for (int i = 0; i < 32 - md5code.length(); i++) {
			md5code = "0" + md5code;
		}
		return md5code;
	}

2.修改LoginServlet, 登陆时, 密码应该先加密再和数据库中的密码做比较

	password = MD5Utils.md5(password);

3.修改RegistServlet, 注册时, 密码应该先加密再存入数据库

	user.setPassword(MD5Utils.md5(password));
	service.registuser(user);

4.实现自动登陆时, 在将用户名和密码保存进Cookie之前, 需要将密码加密后再保存进Cookie(步骤2已实现)

相关标签: MD5 加密 算法