1. gzyueqian
      18529173453
      首頁 > 新聞中心 > > 正文

      java中使用MD5進行加密

      更新時間: 2007-05-10 10:18:12來源: 粵嵌教育瀏覽量:969

       
        在各種應用系統的開發中,經常需要存儲用戶信息,很多地方都要存儲用戶密碼,而將用戶密碼直接存儲在服務器上顯然是不安全的,本文簡要介紹工作中常用的 MD5加密算法,希望能拋磚引玉。

      (一)消息摘要簡介

        一個消息摘要就是一個數據塊的數字指紋。即對一個任意長度的一個數據塊進行計算,產生一個指印(對于SHA1是產生一個20字節的二進制數組)。消息摘要是一種與消息認證碼結合使用以確保消息完整性的技術。主要使用單向散列函數算法,可用于檢驗消息的完整性,和通過散列密碼直接以文本形式保存等,目前廣泛使用的算法有MD4、MD5、SHA-1。

      消息摘要有兩個基本屬性:

      兩個不同的報文難以生成相同的摘要
      難以對指定的摘要生成一個報文,而可以由該報文反推算出該指定的摘要
      代表:美國國家標準技術研究所的SHA1和麻省理工學院Ronald Rivest提出的MD5

      (二)對字符串進行加密

      /** *//**利用MD5進行加密
      * @param str 待加密的字符串
      * @return 加密后的字符串
      * @throws NoSuchAlgorithmException 沒有這種產生消息摘要的算法
      * @throws UnsupportedEncodingException
      */
      public String EncoderByMd5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingException...{
      //確定計算方法
      MessageDigest md5=MessageDigest.getInstance("MD5");
      BASE64Encoder base64en = new BASE64Encoder();
      //加密后的字符串
      String newstr=base64en.encode(md5.digest(str.getBytes("utf-8")));
      return newstr;
      }調用函數:
      String str="0123456789"
      System.out.println(EncoderByMd5(str));
      輸出:eB5eJF1ptWaXm4bijSPyxw==

      (三)驗證密碼是否正確

        因為MD5是基于消息摘要原理的,消息摘要的基本特征就是很難根據摘要推算出消息報文,因此要驗證密碼是否正確,就必須對輸入密碼(消息報文)重新計算其摘要,和數據庫中存儲的摘要進行對比(即數據庫中存儲的其實為用戶密碼的摘要),若兩個摘要相同,則說明密碼正確,不同,則說明密碼錯誤。
      /** *//**判斷用戶密碼是否正確
      * @param newpasswd 用戶輸入的密碼
      * @param oldpasswd 數據庫中存儲的密碼--用戶密碼的摘要
      * @return
      * @throws NoSuchAlgorithmException
      * @throws UnsupportedEncodingException
      */
      public boolean checkpassword(String newpasswd,String oldpasswd) throws NoSuchAlgorithmException, UnsupportedEncodingException...{
      if(EncoderByMd5(newpasswd).equals(oldpasswd))
      return true;
      else
      return false;
      }

      參考資料
      java上加密算法的實現用例
      java加密和數字簽名編程快速入門

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 午夜国产欧美理论在线播放 | 思思热免费在线视频观看 | 亚洲少妇AⅤ在线电 | 久久精品中文字幕欲求不满 | 视频久久久久久97 | 精品亚洲视频在线 |