魔獸傳奇

          java程序愛好者
          posts - 28, comments - 16, trackbacks - 0, articles - 6
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          升級加密解密算法

          Posted on 2008-10-15 10:17 龍旋風 閱讀(274) 評論(0)  編輯  收藏
          加密:
          public String encrypt(String a1) {
            //long is 12
            int num=0;
            String str = a1.toLowerCase();
            String str1 ="";
            if(str==null || str =="")
             return null;
            int length = str.length();
            int tlen = 12 -length;
            for(int i=0;i<tlen;i++){
             num=2*i+1;
             if(i==0)
             str1 = str1+"A";
             else
             str1 = str1+(char)((int)str1.charAt(0)+num);
            }
            if(tlen>=0){
             for(int j=0;j<length;j++){
              if(checkInteger(str.substring(j,j+1))){//This String is Integer
               int integer = Integer.parseInt(str.substring(j,j+1))+3;
               if(integer==10){str1=str1+String.valueOf("X");}else
                if(integer==11){str1=str1+String.valueOf("Y");}else
                 if(integer==12){str1=str1+String.valueOf("Z");}else{
                  str1 =str1+String.valueOf(integer);
                 }
              }else{//This String is not Integer
               if(str.substring(j,j+1).equals("x")){str1=str1+"0";}else
                if(str.substring(j,j+1).equals("y")){str1=str1+"1";}else
                 if(str.substring(j,j+1).equals("z")){str1=str1+"2";}else{
                  int str_integer = (int)str.charAt(j)+3;
                  char c_str =(char)str_integer;
                  str1=str1+c_str;
                 }
              }
             }
            }else{
             this.bulidError("encrypt", "long is over 12!");
             return null;
            }
            return str1;
           }
          解密:
          public String desecrypt(String str){
            int num=0;
            String tempStr = "";
            String str1 ="";
            if(str==null||str=="")
             return null;
            int length = str.length();
            for(int i=0;i<length;i++){
             num = 2*i+1;
             String str2 = str.substring(i,i+1);
             if(checkInteger(str2)){
              if(str2.equals("0")){str1 =str1+"x";}else
               if(str2.equals("1")){str1 =str1+"y";}else
                if(str2.equals("2")){str1 =str1+"z";}else{
                 int integer = Integer.parseInt(str2)-3;
                 str1 =str1+String.valueOf(integer);
                }
             }else{
              if(str2.equals("A") && i==0){
               tempStr="A";
              }else if(str2.equals("A") && i!=0){
               this.bulidError("desecrypt", "A must be in the first place!");
              }
              if(str2.equals("X")){int integer = 10-3;
              str1 =str1+String.valueOf(integer); continue;}else
               if(str2.equals("Y")){int integer = 11-3;
               str1 =str1+String.valueOf(integer); continue;}else
                if(str2.equals("Z")){int integer = 12-3;
                str1 =str1+String.valueOf(integer); continue;}else
                 if(tempStr!="" && !str2.equals("A")){
                 if(((int)str2.charAt(0)-(int)tempStr.charAt(0))==num){
                 }else        
                  tempStr="";
                }
              if(tempStr.equals("")||tempStr==""){
               int i_str = (int)str2.charAt(0)-3;
               char c_str = (char)i_str;
               str1=str1+c_str;
              }
             }
            }
            return str1;
           }

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


          網站導航:
           
          主站蜘蛛池模板: 本溪| 清新县| 温泉县| 锦州市| 板桥市| 通山县| 兴宁市| 隆化县| 广饶县| 曲麻莱县| 方正县| 南城县| 上虞市| 株洲市| 高州市| 崇阳县| 宝鸡市| 永福县| 昭平县| 中方县| 绥化市| 沙雅县| 云安县| 鸡泽县| 西充县| 徐州市| 和田市| 江门市| 乌海市| 乐业县| 呼图壁县| 舞阳县| 宣威市| 孟村| 桐庐县| 泰安市| 廉江市| 大冶市| 镇平县| 云霄县| 彭泽县|