• 您當前所在位置:主頁 > 新聞中心 > 加密算法 >
    新聞中心 / News

    金甲加密軟件免費下載

    聯系智融 / CONTACT US

    客服電話:027-87379468

    技術支持:027-87379468

    傳真:027-87379428

    郵箱:gongch@zronggsoft.com

    QQ: 點擊這里給我發消息 點擊這里給我發消息
    加密算法

    java如何采用md5加密算法加密

    發布時間:2015-05-11 16:37
        根據MD5算法的特點,我們可以把MD5加密過程看作是一個函數調用過程,建議必須做如下方式修改,這樣可以保證一定程度上你的網站用戶和數據安全:
     
      1、修改MD5算法中的4個常數,這是最捷徑的作法,其特點是加密后的數據和加密前非常類似,但是不會被破解
     
      2、多次加密,對MD5加密過的數據進行二次或三次加密,或者在每次加密后從重抽取部分值進行在加密,比如“我愛你”,加密后“1E6986ACEC7BAE541AB7B37B99260DAF”,我們可以取任意一部分進行再加密,比如取前18位“1E6986ACEC7BAE541”進行再加密得到“E3E0A1F51038849583263FE1F1B8B3E9”,這種做法修改很簡單,比如asp中調用是md5("password")那么你可以改成md5(left(md5("password"),16)),這樣以來就很安全了,就是你的數據被下載,破解的話也是不可能的
     
      3、仿MD5加密,顧名思義,我們不采用MD5加密,而采用其他算法,然后取其中的部分散列,比如用SHA1或SHA64得到加密結果,然后取其中的32位或16位,很像MD5算法加密的結果,可以保證不被破解

    十六位的md5加密
     
      private static void Md5(String plainText ) {
     
      try {
     
      MessageDigest md = MessageDigest.getInstance("MD5");
     
      md.update(plainText.getBytes());
     
      byte b[] = md.digest();
     
      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("result: " + buf.toString());//32位的加密
     
      System.out.println("result: " + buf.toString()。substring(8,24));//16位的加密
     
      } catch (NoSuchAlgorithmException e) {
     
      // TODO Auto-generated catch block
     
      e.printStackTrace();
     
      }
     
      }
     
      Md5("12312312312312"); 結果:
     
      result: ba56bab91016bcb37878e06c16e9e68f

    參考資料地址:http://www.cnblogs.com/computer-lzy/archive/2011/04/28/2031649.html
    本文鏈接:http://www.bj-meiling.com/a/webbase/jiamisuanfa20150511327.html
    相關文章推薦

    報價申請
    加密軟件價格申請
    技術咨詢
    加密軟件技術咨詢
    關注我們

    智融科技

    久久久久久久久久久精品