隨筆-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
          好。多謝?。?nbsp; 回復  更多評論
            
          MSN:envoydada@hotmail.com QQ:34935442
          主站蜘蛛池模板: 墨竹工卡县| 东辽县| 贵定县| 公主岭市| 仁布县| 石台县| 安仁县| 涞源县| 锡林郭勒盟| 红原县| 犍为县| 荔波县| 无棣县| 天柱县| 同江市| 唐山市| 郓城县| 金秀| 神农架林区| 泌阳县| 博客| 增城市| 元朗区| 丽水市| 昭平县| 甘肃省| 白山市| 巨野县| 澄迈县| 白水县| 贵德县| 深州市| 阿克| 平乡县| 阿鲁科尔沁旗| 阿拉善右旗| 德惠市| 乌鲁木齐县| 陕西省| 会同县| 乌海市|