Java语言描述MD5加密工具类实例代码
程序员文章站
2024-02-15 21:52:11
编程中经常有用到md5加密的情况,java语言并没有像php一样提供原生的md5加密字符串的函数,需要md5加密的时候,往往需要自己写。
代码如下:
impor...
编程中经常有用到md5加密的情况,java语言并没有像php一样提供原生的md5加密字符串的函数,需要md5加密的时候,往往需要自己写。
代码如下:
import java.security.messagedigest; public class md5 { //公盐 private static final string public_salt = "demo" ; //十六进制下数字到字符的映射数组 private final static string[] hexdigits = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"}; /** * 用户密码加密,盐值为 :私盐+公盐 * @param password 密码 * @param salt 私盐 * @return md5加密字符串 */ public static string encryptpassword(string password,string salt){ return encodebymd5(public_salt+password+salt); } /** * md5加密算法 * @param originstring * @return */ private static string encodebymd5(string originstring){ if (originstring != null){ try{ //创建具有指定算法名称的信息摘要 messagedigest md = messagedigest.getinstance("md5"); //使用指定的字节数组对摘要进行最后更新,然后完成摘要计算 byte[] results = md.digest(originstring.getbytes()); //将得到的字节数组变成字符串返回 string resultstring = bytearraytohexstring(results); return resultstring.touppercase(); } catch(exception ex){ ex.printstacktrace(); } } return null; } /** * 转换字节数组为十六进制字符串 * @param 字节数组 * @return 十六进制字符串 */ private static string bytearraytohexstring(byte[] b){ stringbuffer resultsb = new stringbuffer(); for (int i = 0; i < b.length; i++){ resultsb.append(bytetohexstring(b[i])); } return resultsb.tostring(); } /** 将一个字节转化成十六进制形式的字符串 */ private static string bytetohexstring(byte b){ int n = b; if (n < 0) n = 256 + n; int d1 = n / 16; int d2 = n % 16; return hexdigits[d1] + hexdigits[d2]; } }
总结
以上就是本文关于java语言描述md5加密工具类实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他java相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
上一篇: 慎用全局变量