程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java生成MD5加密字符串代碼實例

Java生成MD5加密字符串代碼實例

編輯:關於JAVA

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
   }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved