隨筆-86  評論-33  文章-0  trackbacks-0

           

          import  java.security. * ;

          public   class  Security {
              
              
          /**
               * 字符串加密方法。傳入一個字符串,返回經過SHA-1加密后的一個字符串
               * 
          @param  strInput
               * 
          @return
               
          */
              
          public   static  String encryptSHA(String strInput) {
                  String strOutput 
          =   new  String( "" );
                  
          try  {
                      MessageDigest md 
          =  MessageDigest.getInstance( " SHA-1 " );
                      md.update(strInput.getBytes());
                      
          byte  b[]  =  md.digest();
                      
          for ( int  i = 0 ;i < b.length;i ++ ) {
                          
          char [] digit  =  {  ' 0 ' , ' 1 ' , ' 2 ' , ' 3 ' , ' 4 ' , ' 5 ' , ' 6 ' , ' 7 ' , ' 8 ' , ' 9 ' , ' A ' , ' B ' , ' C ' , ' D ' , ' E ' , ' F '  };
                          
          char  [] ob  =   new   char [ 2 ];
                          ob[
          0 =  digit[(b[i]  >>>   4 &   0X0F ];
                          ob[
          1 =  digit[b[i]  &   0X0F ];
                          strOutput 
          +=   new  String(ob);
                      }
                  }
                  
          catch (NoSuchAlgorithmException nsae) {
                      ex.printStackTrace();
                  }        
                  
                  
          return  strOutput;
              }
              
              
          /**
               * 字符串加密方法。傳入一個字符串,返回經過MD5加密后的一個字符串
               * 
          @param  strInput
               * 
          @return
               
          */
              
          public   static  String encryptMD5(String strInput) {
                  StringBuffer buf=null;       
                  try {
                      MessageDigest md = MessageDigest.getInstance("MD5");
                      md.update(strInput.getBytes());
                      byte b[] = md.digest();   
                       buf = new StringBuffer(b.length * 2);
                      for(int i=0;i<b.length;i++) {
                          if (((int)b[i] & 0xff) < 0x10) { // & 0xff轉換無符號整型
                              buf.append("0");
                          }
                         // buf.append(Long.toString((int) b[i] & 0xff, 16));//轉換16進制,下方法同
                         buf.append(Long.toHexString((int)b[i] & 0xff));
                      }
                  }catch(NoSuchAlgorithmException ex) {
                       ex.printStackTrace();
                  }   
                 return buf.toString();
              }
              
              
          public   static   void  main(String args[]) {
                  String test 
          =   " Derek.G " ;
                  System.out.print(encryptSHA(test));
              }
          }
          posted on 2006-05-17 15:42 Derek.Guo 閱讀(498) 評論(1)  編輯  收藏 所屬分類: Java

          評論:
          # re: SHA-1&MD5 2006-10-13 16:00 | Paul
          好。多謝!!  回復  更多評論
            
          MSN:envoydada@hotmail.com QQ:34935442
          主站蜘蛛池模板: 同心县| 灵山县| 烟台市| 公主岭市| 昭通市| 顺平县| 桓台县| 吉隆县| 玉树县| 长治县| 游戏| 林芝县| 红河县| 小金县| 武鸣县| 怀集县| 商城县| 四子王旗| 忻州市| 新乡县| 东港市| 永城市| 新晃| 分宜县| 甘谷县| 周宁县| 拉孜县| 耿马| 虎林市| 云浮市| 和平县| 康马县| 仁怀市| 凤翔县| 澄迈县| 铜川市| 罗甸县| 夏津县| 咸丰县| 长沙县| 海门市|