java 加密与解密算法,简单地加密和解密算法(java实现)

龙旋风 阅读(671) 评论(1)  编辑  收藏

45d70c814c4ab6b7df56114fabdb4cfb.png

加密方法:

public String encrypt(String a1) {

//long is 12

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

str1 = str1+"D";

}

if(tlen>=0){

for(int j=0;j

//    System.out.println(str.substring(j,j+1));

if(checkInteger(str.substring(j,j+1))){

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{//

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 not over 12!");

return null;

}

return str1;

}

解密方法:

public String desecrypt(String str){

String str1 ="";

if(str==null||str=="")

return null;

int length = str.length();

for(int i=0;i

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("D")){}else

if(str2.equals("X")){int integer = 10-3;

str1 =str1+String.valueOf(integer);}else

if(str2.equals("Y")){int integer = 11-3;

str1 =str1+String.valueOf(integer);}else

if(str2.equals("Z")){int integer = 12-3;

str1 =str1+String.valueOf(integer);}else{

int i_str = (int)str2.charAt(0)-3;

char c_str = (char)i_str;

str1=str1+c_str;

}

}

}

return str1;

}

整数校验方法:

private boolean checkInteger(String string) {

//mark information

boolean mark = false;

if(string.equals("0")||string.equals("1")||string.equals("2")||string.equals("3")

||string.equals("4")||string.equals("5")||string.equals("6")||string.equals("7")

||string.equals("8")||string.equals("9"))

mark = true;

return mark;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值