java实现md5加密示例
生活随笔
收集整理的這篇文章主要介紹了
java实现md5加密示例
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
/*** 實(shí)現(xiàn)MD5加密**/
public class MD5 {/*** 獲取加密后的字符串* @param input* @return*/public static String stringMD5(String pw) {try { // 拿到一個(gè)MD5轉(zhuǎn)換器(如果想要SHA1參數(shù)換成”SHA1”) MessageDigest messageDigest =MessageDigest.getInstance("MD5"); // 輸入的字符串轉(zhuǎn)換成字節(jié)數(shù)組 byte[] inputByteArray = pw.getBytes(); // inputByteArray是輸入字符串轉(zhuǎn)換得到的字節(jié)數(shù)組 messageDigest.update(inputByteArray); // 轉(zhuǎn)換并返回結(jié)果,也是字節(jié)數(shù)組,包含16個(gè)元素 byte[] resultByteArray = messageDigest.digest(); // 字符數(shù)組轉(zhuǎn)換成字符串返回 return byteArrayToHex(resultByteArray); } catch (NoSuchAlgorithmException e) { return null; } }public static String byteArrayToHex(byte[] byteArray) { // 首先初始化一個(gè)字符數(shù)組,用來(lái)存放每個(gè)16進(jìn)制字符 char[] hexDigits = {'0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F' }; // new一個(gè)字符數(shù)組,這個(gè)就是用來(lái)組成結(jié)果字符串的(解釋一下:一個(gè)byte是八位二進(jìn)制,也就是2位十六進(jìn)制字符(2的8次方等于16的2次方)) char[] resultCharArray =new char[byteArray.length * 2]; // 遍歷字節(jié)數(shù)組,通過(guò)位運(yùn)算(位運(yùn)算效率高),轉(zhuǎn)換成字符放到字符數(shù)組中去 int index = 0;for (byte b : byteArray) { resultCharArray[index++] = hexDigits[b>>> 4 & 0xf]; resultCharArray[index++] = hexDigits[b& 0xf]; }// 字符數(shù)組組合成字符串返回 return new String(resultCharArray); }
}
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
總結(jié)
以上是生活随笔為你收集整理的java实现md5加密示例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: myeclipse部署项目后,debug
- 下一篇: CKEditor代码高亮显示插件Code