Java常用的对密码加密的方法(MD5,SHA) ,主要使用到了MessageDigest这个类
MD5加密
首先把字符串转换为相应的byte,之后创建方法MessageDigest md5 = MessageDigest.getInstance("md5")声明采用MD5加密算法,对传入的字节码进行MD5加密byte[] digest =md5.digest(b),得到一个字节数组,得到字节数组之后,可以自己定义一个16位的char类型的数组,里面的值可以自己定义。char[] c ={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};。然后用定义的这个数组来转换密码。
public static String Md5(){
String str = "123456";
try {
MessageDigest md5 = MessageDigest.getInstance("md5");
//把密码转换为byte类型
byte[] b = str.getBytes();
//加密
byte[] digest =md5.digest(b);
//16进制的字符
char[] c ={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
//用于储存加密后的字符串
StringBuffer sb = new StringBuffer();
//处理为16进制的字符串
for(byte bb:digest){
//15的8进制是0000,1111
sb.append(c[(bb>>4)&15]);
sb.append(c[bb&15]);
System.out.println(sb.toString());
}
return sb.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}