java實現(xiàn)md5加密示例
/**
* 實現(xiàn)MD5加密
*
*/
public class MD5 {
/**
* 獲取加密后的字符串
* @param input
* @return
*/
public static String stringMD5(String pw) {
try {
// 拿到一個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個元素
byte[] resultByteArray = messageDigest.digest();
// 字符數(shù)組轉(zhuǎn)換成字符串返回
return byteArrayToHex(resultByteArray);
} catch (NoSuchAlgorithmException e) {
return null;
}
}
public static String byteArrayToHex(byte[] byteArray) {
// 首先初始化一個字符數(shù)組,用來存放每個16進制字符
char[] hexDigits = {'0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F' };
// new一個字符數(shù)組,這個就是用來組成結(jié)果字符串的(解釋一下:一個byte是八位二進制,也就是2位十六進制字符(2的8次方等于16的2次方))
char[] resultCharArray =new char[byteArray.length * 2];
// 遍歷字節(jié)數(shù)組,通過位運算(位運算效率高),轉(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);
}
}
PS:關(guān)于加密技術(shù),本站還提供了如下加密工具供大家參考使用:
MD5在線加密工具:http://tools.jb51.net/password/CreateMD5Password
Escape加密/解密工具:http://tools.jb51.net/password/escapepwd
在線SHA1加密工具:http://tools.jb51.net/password/sha1encode
短鏈(短網(wǎng)址)在線生成工具:http://tools.jb51.net/password/dwzcreate
短鏈(短網(wǎng)址)在線還原工具:http://tools.jb51.net/password/unshorturl
高強度密碼生成器:http://tools.jb51.net/password/CreateStrongPassword
相關(guān)文章
Kotlin + Retrofit + RxJava簡單封裝使用詳解
這篇文章主要介紹了Kotlin + Retrofit + RxJava簡單封裝使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
Java實現(xiàn)數(shù)據(jù)庫圖片上傳與存儲功能
在現(xiàn)代的Web開發(fā)中,上傳圖片并將其存儲在數(shù)據(jù)庫中是常見的需求之一,本文將介紹如何通過Java實現(xiàn)圖片上傳,存儲到數(shù)據(jù)庫的完整過程,希望對大家有所幫助2025-03-03
SpringBoot Admin健康檢查功能的實現(xiàn)
admin主要就是告訴運維人員,服務出現(xiàn)異常,然后進行通知(微信、郵件、短信、釘釘?shù)龋┛梢苑浅?焖偻ㄖ竭\維人員,相當報警功能,接下來通過本文給大家介紹SpringBoot Admin健康檢查的相關(guān)知識,一起看看吧2021-06-06
java中使用Files.readLines()處理文本中行數(shù)據(jù)方式
這篇文章主要介紹了java中使用Files.readLines()處理文本中行數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
springboot整合druid及多數(shù)據(jù)源配置的demo
這篇文章主要介紹了springboot整合druid及多數(shù)據(jù)源配置的demo,本篇主要分兩部分 ①springboot整合druid的代碼配置,以及druid的監(jiān)控頁面演示;②對實際場景中多數(shù)據(jù)源的配置使用進行講解,需要的朋友可以參考下2024-01-01

