最近聽說身邊的朋友都在看簡書认境,還有身邊的朋友都在寫簡書聘萨,為的就是把平時遇到的一些技術干貨能夠儲存起來留著以后用。作為一個剛剛程序小菜的我朦促,雖然工作一年了膝晾,但是一年來從來沒有好好的總結過一個用到的東西,深感汗顏啊思灰,就像猴子摘桃子玷犹,摘一個丟一個混滔,雖然工作一年洒疚,感覺沒有整理出來什么干貨,所以從今天開始坯屿,就做一個愛收集干貨的IT小工油湖,改用一句廣告詞“我們不是技術的生產者,我們只是代碼的搬運工”领跛。閑話少扯乏德,由于是初次寫簡書,就從我現(xiàn)在做的項目開始吠昭,發(fā)現(xiàn)里面有些技術干貨喊括,就一點一點收集,希望有不對的地方矢棚,希望大家留言指正郑什。
**
*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];
}
// 轉換字節(jié)數組為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;
}
}