魔獸傳奇

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

          升級加密解密算法

          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;
           }

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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 日喀则市| 石渠县| 松原市| 交城县| 怀远县| 饶平县| 潮州市| 井研县| 廉江市| 馆陶县| 达州市| 灯塔市| 岐山县| 雅安市| 岢岚县| 小金县| 白沙| 茂名市| 于都县| 西和县| 汝城县| 甘肃省| 东乌| 祁门县| 东源县| 应用必备| 绥棱县| 邵阳县| 三台县| 潮安县| 桂东县| 织金县| 晴隆县| 丰都县| 项城市| 东明县| 长葛市| 介休市| 龙胜| 宁都县| 张家川|