最近听说身边的朋友都在看简书,还有身边的朋友都在写简书,为的就是把平时遇到的一些技术干货能够储存起来留着以后用。作为一个刚刚程序小菜的我,虽然工作一年了,但是一年来从来没有好好的总结过一个用到的东西,深感汗颜啊,就像猴子摘桃子,摘一个丢一个,虽然工作一年,感觉没有整理出来什么干货,所以从今天开始,就做一个爱收集干货的IT小工,改用一句广告词“我们不是技术的生产者,我们只是代码的搬运工”。闲话少扯,由于是初次写简书,就从我现在做的项目开始,发现里面有些技术干货,就一点一点收集,希望有不对的地方,希望大家留言指正。
**
*ClassName: MD5
*Description: MD5加密
*Author: IT小工:程序朱
*Date: 2015年4月20日
*/
public classMD5Encrypt {
// 全局数组
private final staticString[]strDigits= {"0","1","2","3","4","5",
"6","7","8","9","a","b","c","d","e","f"};
publicMD5Encrypt() {}
// 返回形式为数字跟字符串
private staticStringbyteToArrayString(bytebByte) {
intiRet = bByte;
// System.out.println("iRet="+iRet);
if(iRet <0) {
iRet +=256;
}
intiD1 = iRet /16;
intiD2 = iRet %16;
returnstrDigits[iD1] +strDigits[iD2];
}
// 转换字节数组为16进制字串
private staticStringbyteToString(byte[] bByte) {
StringBuffer sBuffer =newStringBuffer();
for(inti =0;i < bByte.length;i++) {
sBuffer.append(byteToArrayString(bByte[i]));
}
returnsBuffer.toString();
}
/**
*Description: 获取密文
*@paramstrObj需要加密的字符串
*@return
*/
public staticStringgetCode(String strObj) {
String resultString =null;
try{
resultString =newString(strObj);
MessageDigest md = MessageDigest.getInstance("MD5");
// md.digest() 该函数返回值为存放哈希值结果的byte数组
resultString =byteToString(md.digest(strObj.getBytes()));
}catch(NoSuchAlgorithmException ex) {
ex.printStackTrace();
}
returnresultString;
}
}