數據加載中……
          java MD5加密簡單實現
          Edited by DingDangXiaoMa
          java MD5加密簡單實現:

          源碼如下,并有注釋:

          package com.zh.test.util;

          import java.security.MessageDigest;
          import java.security.NoSuchAlgorithmException;

          /**
          * 加密類.對輸入的字符串進行加密.
          *
          * @author Administrator
          *
          */
          public class MyEncrypt {
                  /**
                   * 對字符串進行加密處理.用到的算法是JDK 1.5中的 MD5算法 . MD5是一個不可逆的算法.
                   *
                   * @param toEncrypt
                   * @return
                   * @throws Exception
                   */
                  public static String encrypt(String toEncrypt) throws Exception {
                          String inStr = toEncrypt;
                          MessageDigest md = null;
                          String out = null;
                          System.out.println("轉變之前的長度: " + inStr.getBytes().length);
                          try {
                                  md = MessageDigest.getInstance("MD5");
                                  byte[] digest = md.digest(inStr.getBytes());
                                  out = byte2hex(digest);
                          } catch (NoSuchAlgorithmException e) {
                                  e.printStackTrace();
                                  throw e;
                          }

                          return out;
                  }

                  /**
                   * 把二進制數組轉換成十六進制.
                   *
                   * @param b
                   * @return
                   */
                  private static String byte2hex(byte[] b) {
                          System.out.println("數組長度; " + b.length);
                          String hs = "";
                          String stmp = "";
                          for (int n = 0; n < b.length; n++) {
                                  stmp = (java.lang.Integer.toHexString(b[n] & 0XFF));
                                  if (stmp.length() == 1) {
                                          hs = hs + "0" + stmp;
                                  } else {
                                          hs = hs + stmp;
                                  }
                          }
                          return hs.toUpperCase();
                  }

                  /**
                   * 對加密算法進行測試.
                   *
                   * @param args
                   *            參數
                   * @throws Exception
                   *             異常處理.
                   */
                  public static void main(String[] args) throws Exception {
                          String toEncrypt = "123456";
                          String toEncrypt2 = "aaa1112您好好`11887444....---00022";
                          String outString = MyEncrypt.encrypt(toEncrypt2);
                          System.out.println(outString);
                          System.out.println("2C1835B7872CAB44D5D87312B85D829A".length());

                  }
          }

          以上部分是對MD5算法的簡單實現.網上也有很多這樣的資料,誰有興趣,可以找更多的資料,
          從網上看,說MD5是一個不可逆的運算,也不知道是不是這樣?
          可以參考網站:http://www.moon-soft.com/doc/2624.htm

          posted on 2008-04-18 14:17 叮當小馬 閱讀(249) 評論(0)  編輯  收藏 所屬分類: Encryption


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 板桥市| 治县。| 临沭县| 临潭县| 芒康县| 林口县| 阜新市| 扎囊县| 和硕县| 利辛县| 广饶县| 射洪县| 石棉县| 雷州市| 南江县| 宜城市| 安化县| 柘荣县| 永清县| 澄城县| 东安县| 喀喇沁旗| 沁水县| 巩留县| 古丈县| 平定县| 囊谦县| 宜章县| 连南| 德清县| 大渡口区| 芜湖市| 县级市| 铁岭市| 梓潼县| 陇西县| 凤山市| 搜索| 洪洞县| 淮南市| 乐安县|