魔兽传奇

java程序爱好者
posts - 28, comments - 16, trackbacks - 0, articles - 6
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

升级加密解密算法

Posted on 2008-10-15 10:17 龙旋风 阅读(271) 评论(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;
 }

只有注册用户登录后才能发表评论。


网站导航: