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相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!