参数
str_original 原始字符串
isToUpperCase 是否字母大写
public String MD5(String str_original, boolean isToUpperCase) { MessageDigest md; try { md = MessageDigest.getInstance("MD5"); md.update((str_original).getBytes("UTF-8")); byte[] md5Byte = md.digest(); return bytesToHex(md5Byte, isToUpperCase); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return ""; } //二进制转十六进制 @SuppressLint("DefaultLocale") public static String bytesToHex(byte[] bytes, boolean isToUpperCase) { StringBuffer hexStr = new StringBuffer(""); int num; for (int i = 0; i < bytes.length; i++) { num = bytes[i]; if(num < 0) { num += 256; } if(num < 16){ hexStr.append("0"); } hexStr.append(Integer.toHexString(num)); } if (isToUpperCase) { return hexStr.toString().toUpperCase(); } else { return hexStr.toString(); } }