将用户注册时输入的密码经过MD5加密存入数据库中,登录时再通过md5验证,话不多说直接上码。
public class Md5 {
public static String getMD5code(String oldstr) {
char hexDigits[] = { '*', ',', '&', '@', '!', '%', '0', '1', '2', '3',
'a', 'b', 'c', '.', '+', '-' };//利用算法选择此数组里的字符
byte[] oldbytes = oldstr.getBytes();//转换成byte类型
byte[] newbytes = null;
String MDCode = null;
try {
MessageDigest md = MessageDigest.getInstance("MD5");//获取一个对象
md.update(oldbytes);//初始化
newbytes = md.digest();//运行加密算法得到16个字节
StringBuffer sb = new StringBuffer(newbytes.length*2);//构造32个字节的容器
for(int i=0; i<16; i++) {
byte b = newbytes[i];
sb.append(hexDigits[(b & 0xf) >>> 4]);// 取字节中高 4 位的数字转换
sb.append(hexDigits[b & 0xf]);//取字节中低 4 位的数字转换
}
MDCode = sb.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return MDCode;
}
}
用户注册时,将密码利用此方法加密写入数据库。