Java生成MD5加密字符串代碼實例
(1)一般使用的數(shù)據(jù)庫中都會保存用戶名和密碼,其中密碼不使用明碼保存。
有時候用MD5密碼,很多語言都提供了將字符串生成為MD5密碼的方法或函數(shù)。MD5的加密算法是公開的。
有時候也可以用自己的字符串加密算法,這種加密算法是只有自己知道的。
(2)破解MD5的過程就是先算好大量或者所有可能的字符串的MD5數(shù)值,之后進行查詢就可以破解。雖然有些網(wǎng)站規(guī)定了密碼的位數(shù)在6~20位之間,但是要事先計算這么多是字符串并有效的組織存儲、查詢還是相當麻煩,相當慢的。
因為MD5的位數(shù)是固定的,比如16,32,64,而字符串的組合與長度是無窮盡的,這就有沖突啦。但是如果知道了加密前字符串的長度是有固定范圍的,比如6~20,這個還是可以破解的。
但是,如果不知道加密前字符的長度那么這就是無窮盡啦。貌似現(xiàn)在還沒有人能夠破解吧。
MD5密碼破解網(wǎng)站 :可以百度搜索“MD5解密”
(3)下面給出了一個java生成給定字符串的MD5密碼的模塊程序。
import java.security.MessageDigest;
public class Md5Test {
public void toMD5(String plainText) {
try {
//生成實現(xiàn)指定摘要算法的 MessageDigest 對象。
MessageDigest md = MessageDigest.getInstance("MD5");
//使用指定的字節(jié)數(shù)組更新摘要。
md.update(plainText.getBytes());
//通過執(zhí)行諸如填充之類的最終操作完成哈希計算。
byte b[] = md.digest();
//生成具體的md5密碼到buf數(shù)組
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
System.out.println("32位: " + buf.toString());// 32位的加密
System.out.println("16位: " + buf.toString().substring(8, 24));// 16位的加密,其實就是32位加密后的截取
}
catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String agrs[]) {
new Md5Test().toMD5("LXD");//加密LXD
}
}
PS:這里再為大家提供2款MD5加密工具,感興趣的朋友可以參考一下:
MD5在線加密工具:
http://tools.jb51.net/password/CreateMD5Password
在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
相關(guān)文章
IDEA?服務(wù)器熱部署圖文詳解(On?Update?action/On?frame?deactivation)
這篇文章主要介紹了IDEA?服務(wù)器熱部署詳解(On?Update?action/On?frame?deactivation),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03
SpringBoot根據(jù)各地區(qū)時間設(shè)置接口有效時間的實現(xiàn)方式
這篇文章給大家介紹了SpringBoot根據(jù)各地區(qū)時間設(shè)置接口有效時間的實現(xiàn)方式,文中通過代碼示例給大家講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-01-01
解決Eclipse Tomcat OutOfMemoryError:PermGen space的問題
今天小編就為大家分享一篇關(guān)于解決Eclipse Tomcat OutOfMemoryError:PermGen space的問題,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
SpringMVC @GetMapping注解路徑?jīng)_突問題解決
MD5對密碼進行加密存儲是常見的一種加密方式,本文主要介紹了Java雙重MD5加密實現(xiàn)安全登錄,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

