方式一:Java自身包实现
/** * md5加密一(Java自身包实现-32位小写加密) * @param str * @return */ public static String md5(String str) { byte[] secretBytes = null; try { secretBytes = MessageDigest.getInstance("md5").digest( str.getBytes()); } catch (Exception 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; }
方法二:apache提供的加密包commons-codec
需要依赖
commons-codec commons-codec1.11
/** * md5加密二(apache提供了一个加密包commons-codec) * @param plainText * @return */ public static String md52(String plainText) { try { // md5加密方法使用规则 return DigestUtils.md5Hex(plainText.getBytes("UTF-8")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); return null; } }
方法三:hutool包提供的MD5加密
需要依赖hutool相关依赖
使用方法
SecureUtil.md5(str)实现
总结:三种方法的结果是一致的,实际中根据不同的项目情况选择不同的方法使用。