最近在学习javaweb时候,用到了MD5加密技术,MD5不用自己写,它已经帮你写好了。只要复制粘贴就好
public static String getMD5(String source){
MessageDigest md5;
StringBuilder sb=new StringBuilder();
byte[] buf=source.getBytes();
try{
md5=MessageDigest.getInstance("MD5");
md5.update(buf);
byte[] data=md5.digest();
for(byte b:data){
sb.append(Integer.toHexString(b&0xff));
}
}
catch(Exception e){
e.printStackTrace();
}
return sb.toString();
}
如贴图代码
但是我自己写的总是不能添加成功(自己写的添加代码)
public boolean addUser(String username,String password) {
conn=getConnectionn1();
System.out.println("username+password:"+username+","+password);
try {
pStat=conn.prepareStatement("insert into users values(null,?,?)");
pStat.setString(1, username);
pStat.setString(2,AddMD5.getMD5(password));
int cnt=pStat.executeUpdate();
if(cnt>0) return true;
else return false;
}
catch (Exception e) { return false; }
finally{close();}
}
感觉自己写的没错,想了好久才知道,原来是设置users这个表的时候数据段设置的短了,用MD5加密一下字符串一下就超过了自己设置的长度,即使是三个字符加密下长度超过了20
username+password:456,456
25cf8b51c773f3f8dc8b4be867a9a2
所以总结下设置表格的时候一定要把长度设置长点。