今天做了一道加密题,具体加密方法是这样的

设计思路很简单,用户输入一个字符串,把它的每个字符都装到一个临时数组里,然后做ascii码+3或-3的运算,在头和尾的单独考虑即可。之后将数组的元素转为字符串型输出。
源代码:
//jeson 加解密码程序 2015/10/24
import java.util.*;
public class Mima {
public static void main(String args[])
{
System.out.println("请输入所需操作:加密-1,解码——2");
int xuanze;
Scanner sca=new Scanner(System.in);
xuanze=sca.nextInt();
if(xuanze==1)
{
System.out.println("请输入所需加密字符串");
String zifuchuan=new String();
zifuchuan=sca.next();
char out[]=new char[zifuchuan.length()];
for(int i=0;i<zifuchuan.length();i++)
{
if(zifuchuan.charAt(i)>='A'&&zifuchuan.charAt(i)<='W')
{
out[i]=(char) (zifuchuan.charAt(i)+3);
}
if(zifuchuan.charAt(i)=='X') out[i]='A';
if(zifuchuan.charAt(i)=='Y') out[i]='B';
if(zifuchuan.charAt(i)=='Z') out[i]='C';
}
//将数组转化为字符串
String linshi=new String();
for(int w=0;w<zifuchuan.length();w++)
{
linshi=out[w]+linshi;
}
System.out.println("字符串加密后为"+linshi);
}
if(xuanze==2)
{
System.out.println("请输入所需解密字符串");
String zifuchuan=new String();
zifuchuan=sca.next();
char out[]=new char[zifuchuan.length()];
for(int i=0;i<zifuchuan.length();i++)
{
if(zifuchuan.charAt(i)>='D'&&zifuchuan.charAt(i)<='Z')
{
out[i]=(char) (zifuchuan.charAt(i)-3);
}
if(zifuchuan.charAt(i)=='C') out[i]='Z';
if(zifuchuan.charAt(i)=='B') out[i]='Y';
if(zifuchuan.charAt(i)=='A') out[i]='X';
}
//将数组转化为字符串
String linshi=new String();
for(int w=0;w<zifuchuan.length();w++)
{
linshi=out[w]+linshi;
}
System.out.println("字符串解密后为"+linshi);
}
}
}
截图:
浙公网安备 33010602011771号