Java语言描述MD5加密工具类实例代码

网友投稿 510 2023-03-04


Java语言描述MD5加密工具类实例代码

编程中经常有用到MD5加密的情况,java语言并没有像php一样提供原生的MD5加密字符串的函数,需要MD5加密的时候,往往需要自己写。

代码如下:

import java.security.MessageDigest;

public class MD5 http://{

//公盐

private static final String PUBLIC_SALT = "demo" ;

//十六进制下数字到字符的映射数组

private final static String[] hexDigits = {"0", "1", "2", "3",SBRVDKsvIl "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 resuSBRVDKsvIlltSb = 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相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java命令行下Jar包打包小结
下一篇:Java中Spring WebSocket详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~