MD5加密算法

最近听说身边的朋友都在看,还有身边的朋友都在写,为的就是把平时遇到的一些技术干货能够储存起来留着以后用。作为一个刚刚程序小菜的我,虽然工作一年了,但是一年来从来没有好好的总结过一个用到的东西,深感汗颜啊,就像猴子摘桃子,摘一个丢一个,虽然工作一年,感觉没有整理出来什么干货,所以从今天开始,就做一个爱收集干货的IT小工,改用一句广告词“我们不是技术的生产者,我们只是代码的搬运工”。闲话少扯,由于是初次写,就从我现在做的项目开始,发现里面有些技术干货,就一点一点收集,希望有不对的地方,希望大家留言指正。

MD5加密算法_第1张图片
**
*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;

}

}

你可能感兴趣的:(MD5加密算法)