隨筆-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 閱讀(503) 評論(1)  編輯  收藏 所屬分類: Java

          評論:
          # re: SHA-1&MD5 2006-10-13 16:00 | Paul
          好。多謝!!  回復  更多評論
            
          MSN:envoydada@hotmail.com QQ:34935442
          主站蜘蛛池模板: 太和县| 扎囊县| 中方县| 尖扎县| 赤峰市| 手游| 岗巴县| 抚松县| 乳山市| 井陉县| 安顺市| 闻喜县| 章丘市| 梅州市| 玉龙| 长子县| 蛟河市| 读书| 延庆县| 泰州市| 扬中市| 天长市| 华蓥市| 嘉鱼县| 宁德市| 聊城市| 庄河市| 扎赉特旗| 蛟河市| 沾益县| 台安县| 昆明市| 奉化市| 陕西省| 呼玛县| 昭通市| 马公市| 曲沃县| 商都县| 烟台市| 南宁市|