最近工作中遇到问题,要对客户端的用户名和密码进行加密,再传到数据库中保存,想来想去不能解决,最后从网上查资料,整合后写出了一个简单的MD5加密类!网上还有其他的很多方法,大家可以按照需求选择!附录代码:
//MD5加密方法
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class CipherToMD5 {
public String cipher; //输入的密码
public String ss=null;//输出的加密后的值
public String MD5(String cipher) {
MessageDigest md5 = null;
try{
md5 = MessageDigest.getInstance("MD5");
md5.update(cipher.getBytes());
byte b[] = md5.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if(i<0) {
i+= 256;
}
if(i<16) {
buf.append("0");
}
buf.append(Integer.toHexString(i));
}
ss = buf.toString();
System.out.println("result: " + buf.toString());//32位的加密
System.out.println("result: " + buf.toString().substring(8, 24));// 16位的加密
}catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
return ss;
}
return ss;
}
}
小弟新手,刚写博客没多久,有什么错误或不对请大家多多包涵 !谢谢!