MD加密是目前常用的密码加密方式,可以让你在APP中输入的密码不至于明文显示在后台的数据库,工具类使用方法如下 加密后的密文分大小写的。下面用的是大写的,你可以用String s = Md5Utils.MD5(“1234”); 然后可以日志或者控制台打印一下这个s 看一下加密之后的铭文。
Md5Utils.MD5();// 加密后为大写 Md5Utils.md5();// 加密后为小写
Md5Utils.MD5(Pwd)
工具类代码如下:
代码语言:javascript复制public class Md5Utils {
/**
* 将字符串转成MD5值
*
* @param string
* @return
*/
public static String md5(String string) {
byte[] hash;
try {
hash = MessageDigest.getInstance("MD5").digest(string.getBytes("UTF-8"));
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return null;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return null;
}
StringBuilder hex = new StringBuilder(hash.length * 2);
for (byte b : hash) {
if ((b & 0xFF) < 0x10)
hex.append("0");
hex.append(Integer.toHexString(b & 0xFF));
}
return hex.toString();
}
private static final char HEX_DIGITS[] = {'0', '1', '2', '3', '4', '5',
'6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
public static String MD5(String s) {
try {
StringBuilder sb = new StringBuilder();
byte[] data = s.getBytes("utf-8");
MessageDigest MD5 = MessageDigest.getInstance("MD5");
MD5.update(data);
data = MD5.digest();
for (int i = 0; i < data.length; i ) {
sb.append(HEX_DIGITS[(data[i] & 0xf0) >> 4] "" HEX_DIGITS[data[i] & 0xf]);
}
return sb.toString();
} catch (Exception e) {
//CrashReport.postCatchedException(e);
throw new RuntimeException(e);
}
}
}