md5加密

81 阅读1分钟

相关概念

MD5(Message-Digest Algorithm 5,信息摘要算法5)加密是一种常见的哈希加密算法,用于产生长达128位的散列值。它接受任意长度的输入数据输出固定长度的散列值(哈希值),常用于保证信息的完整性和安全性。

MD5算法的基本原理是将输入的字符串通过特定的运算算法处较短的、固定的位数,生成唯一的字符串摘要,长度为32个字符。这个摘要不难被计算,但是,很难找到两个不同的庞大文件其信息摘要相同的情况。

MD5加密的过程包括三个步骤:

  1. 填充:将明文以512位(64字节)为一组进行填充。
  2. 初试化:将一个随机的128位(16字节)的数当作初始值,作为第一轮对消息分组的处理。
  3. 处理:将填充后的数据以512位为一组进行分组,依次进行数据变换,从而生成128位的输出结果(也就是摘要码)。

MD5加密常用于存储用户密码的摘要,因为MD5算法生成的摘要是不可逆的,即无法从生成的摘要中恢复出原始信息,能有效的保护用户的密码安全。

代码实现

import org.springframework.util.DigestUtils;


//密码比对  
//对前端传过来的明文密码进行md5加密处理  
password = DigestUtils.md5DigestAsHex(password.getBytes());  
if (!password.equals(employee.getPassword())) {  
    //密码错误  
    throw new PasswordErrorException(MessageConstant.PASSWORD_ERROR);  
}