MD5 的全称是 Message-Digest Algorithm 5(信息摘要算法),广泛应用在密码信息安全,后被证实无法防止碰撞,初步了解即可。
import sun.misc.BASE64Encoder;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import java.util.Base64;
public class Test1 {
public static void main(String[] args) {
String password = "admin#2022";
try {
MessageDigest md = MessageDigest.getInstance("md5");
// md5 计算摘要
byte[] bytes = md.digest(password.getBytes("UTF-8"));
System.out.println(Arrays.toString(bytes));
// BASE64 编码:a-z A-Z 0-9 / *
// JDK 1.8 Base64
String mdBase64Str = Base64.getEncoder().encodeToString(bytes);
System.out.println("md5 加密后:" + mdBase64Str );
// JDK 1.7
BASE64Encoder base64Encoder = new BASE64Encoder();
mdBase64Str = base64Encoder.encode(bytes);
System.out.println("md5 加密后:" + mdBase64Str );
// Base64 解码
bytes = Base64.getDecoder().decode(mdBase64Str);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}