數據加載中……
          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 叮當小馬 閱讀(251) 評論(0)  編輯  收藏 所屬分類: Encryption


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


          網站導航:
           
          主站蜘蛛池模板: 长宁县| 黎川县| 黑河市| 涟源市| 太湖县| 天长市| 红安县| 都兰县| 东至县| 平谷区| 衡阳县| 万年县| 深圳市| 江都市| 当涂县| 新沂市| 柏乡县| 朝阳县| 文水县| 石景山区| 西和县| 云梦县| 天祝| 溆浦县| 承德县| 从江县| 额尔古纳市| 潼关县| 丰都县| 卢湾区| 全州县| 康乐县| 安平县| 阳山县| 南郑县| 台东县| 历史| 家居| 进贤县| 嘉禾县| 昌邑市|