import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Base64; public class MD5Util { /** * 将字符串用MD5加密 */ public static String encode(String source) { // 1. MD5是众多消息摘要算法中的一种,JDK将这些消息摘要算法封装在MessageDigest类 MessageDigest md; try { md = MessageDigest.getInstance("MD5"); // 2. 将原文进行摘要(加密) byte[] digest = md.digest(source.getBytes()); // 3. 将数据转为base64编码,base64编码可以将任何数据使用ASCII码表示 // JDK1.8才支持 byte[] encode = Base64.getEncoder().encode(digest); String target = new String(encode); return target; } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } public static void main(String[] args) { System.out.println(encode("321Abc")); } }