魔獸傳奇

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

          升級(jí)加密解密算法

          Posted on 2008-10-15 10:17 龍旋風(fēng) 閱讀(274) 評(píng)論(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;
           }

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 巧家县| 黎川县| 禹城市| 封丘县| 德钦县| 个旧市| 灵川县| 汾西县| 织金县| 南通市| 淮阳县| 湖北省| 武安市| 舟山市| 福安市| 长垣县| 榆树市| 鄂伦春自治旗| 都江堰市| 遂宁市| 内黄县| 淮安市| 来安县| 和田县| 勐海县| 仪征市| 拉萨市| 昌邑市| 阿克苏市| 南华县| 繁峙县| 罗山县| 临夏县| 肥西县| 蒲江县| 报价| 满洲里市| 东台市| 定安县| 合水县| 乐亭县|