小菜近期负责BI项目的对接,用到用户权限的管理。在读取用户密码时,需要对Http传来的password进行Md5加密,经过查询资料,现对Md5的加密算法进行总结:
/**
* Md5 32位加密算法
* @param password 传入的密码
* @return
*/
public String md5(String password){
StringBuffer buf = null;
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(password.getBytes());
byte b[] = md.digest();
int i;
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));
}
//System.out.println("result: " + buf.toString());// 32位的加密
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return buf.toString();
}
初步实现了对password的加密,结果证明准确无误!