首先,必须强调一点,MD5不是加密算法,确切的说是一种消息摘要算法,具有不可逆性。通俗的讲,字符串、文件等通过MD5处理后,可以生成一个固定长度为128位的二进制串。(通常将其转换成16进制字符串,可以用于密码校验等)
加密算法和消息摘要算法有何区别?
1、加密算法具有相应地解密算法,通过加密算法对信息进行加密后,采用解密算法能够获取到原始数据。
2、采用摘要算法得到的数据是不完整的,无法反向获取到原始数据。
MD5作用:
1、一致性校验,系统登录、注册等。
2、数字签名,可以将MD5生成的串看成一个指纹。
Java实现MD5摘要算法:
package demo;
import java.security.MessageDigest;
public class MD5 {
// test
public static void main(String[] args) {
System.out.println(getMD5Code(