1.MD5加密数据
/** * <加解密实现类> */ public class SecurityUtils { /** * md5加密 * * @param str * @return */ public final static String get32MD5Str(String str) { if (GeneralUtils.isNullOrZeroLenght(str)) { return str; } MessageDigest messageDigest = null; try { messageDigest = MessageDigest.getInstance("MD5"); messageDigest.reset(); messageDigest.update(str.getBytes("UTF-8")); } catch (NoSuchAlgorithmException e) { System.out.println("NoSuchAlgorithmException caught!"); System.exit(-1); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } byte[] byteArray = messageDigest.digest(); StringBuffer md5StrBuff = new StringBuffer(); for (int i = 0; i < byteArray.length; i++) { if (Integer.toHexString(0xFF & byteArray[i]).length() == 1) md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i])); else md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i])); } return md5StrBuff.toString(); } }
2.Base64加密解密
/** * 加密传入的数据是byte类型的,并非使用decode方法将原始数据转二进制,String类型的数据 使用 str.getBytes()即可 * 在这里使用的是encode方式,返回的是byte类型加密数据,可使用new String转为String类型 * * @param str * @return */ public final static String getBase64Encode(String str) { String strBase64 = new String(Base64.encode(str.getBytes(), Base64.DEFAULT)); Log.e("Base64", "encode >>>" + strBase64); return strBase64; } /** * 这里 encodeToString 则直接将返回String类型的加密数据 * * @param str * @return */ public final static String getBase64EncodeToString(String str) { String enToStr = Base64.encodeToString(str.getBytes(), Base64.DEFAULT); Log.e("Base64", "encodeToString >>> " + enToStr); return enToStr; } /** * 对base64加密后的数据进行解密 * * @param strBase64 * @return */ public final static String getBase64Decode(String strBase64) { String str = new String(Base64.decode(strBase64.getBytes(), Base64.DEFAULT)); Log.e("Base64", "decode >>>" + str); return str; }