Java语言描述MD5加密工具类实例代码
编程中经常有用到MD5加密的情况,Java语言并没有像PHP一样提供原生的MD5加密字符串的函数,需要MD5加密的时候,往往需要自己写。
代码如下:
importjava.security.MessageDigest;
publicclassMD5{
//公盐
privatestaticfinalStringPUBLIC_SALT="demo";
//十六进制下数字到字符的映射数组
privatefinalstaticString[]hexDigits={"0","1","2","3","4",
"5","6","7","8","9","a","b","c","d","e","f"};
/**
*用户密码加密,盐值为:私盐+公盐
*@parampassword密码
*@paramsalt私盐
*@returnMD5加密字符串
*/
publicstaticStringencryptPassword(Stringpassword,Stringsalt){
returnencodeByMD5(PUBLIC_SALT+password+salt);
}
/**
*md5加密算法
*@paramoriginString
*@return
*/
privatestaticStringencodeByMD5(StringoriginString){
if(originString!=null){
try{
//创建具有指定算法名称的信息摘要
MessageDigestmd=MessageDigest.getInstance("MD5");
//使用指定的字节数组对摘要进行最后更新,然后完成摘要计算
byte[]results=md.digest(originString.getBytes());
//将得到的字节数组变成字符串返回
StringresultString=byteArrayToHexString(results);
returnresultString.toUpperCase();
}
catch(Exceptionex){
ex.printStackTrace();
}
}
returnnull;
}
/**
*转换字节数组为十六进制字符串
*@param字节数组
*@return十六进制字符串
*/
privatestaticStringbyteArrayToHexString(byte[]b){
StringBufferresultSb=newStringBuffer();
for(inti=0;i
总结
以上就是本文关于Java语言描述MD5加密工具类实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他Java相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!