Java生成MD5加密字符串代碼實例。本站提示廣大學習愛好者:(Java生成MD5加密字符串代碼實例)文章只能為提供參考,不一定能成為您想要的結果。以下是Java生成MD5加密字符串代碼實例正文
(1)普通應用的數據庫中都邑保留用戶名和暗碼,個中暗碼不應用密碼保留。
有時刻用MD5暗碼,許多說話都供給了將字符串生成為MD5暗碼的辦法或函數。MD5的加密算法是地下的。
有時刻也能夠用本身的字符串加密算法,這類加密算法是只要本身曉得的。
(2)破解MD5的進程就是先算好年夜量或許一切能夠的字符串的MD5數值,以後停止查詢便可以破解。固然有些網站劃定了暗碼的位數在6~20位之間,然則要事前盤算這麼多是字符串並有用的組織存儲、查詢照樣相當費事,相當慢的。
由於MD5的位數是固定的,好比16,32,64,而字符串的組合與長度是無限盡的,這就有抵觸啦。然則假如曉得了加密前字符串的長度是有固定規模的,好比6~20,這個照樣可以破解的。
然則,假如不曉得加密前字符的長度那末這就是無限盡啦。貌似如今還沒有人可以或許破解吧。
MD5暗碼破解網站 :可以百度搜刮“MD5解密”
(3)上面給出了一個java生成給定字符串的MD5暗碼的模塊法式。
import java.security.MessageDigest; public class Md5Test { public void toMD5(String plainText) { try { //生成完成指定摘要算法的 MessageDigest 對象。 MessageDigest md = MessageDigest.getInstance("MD5"); //應用指定的字節數組更新摘要。 md.update(plainText.getBytes()); //經由過程履行諸如填充之類的終究操作完成哈希盤算。 byte b[] = md.digest(); //生成詳細的md5暗碼到buf數組 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 } }