密码加密和解密
1.程序设计思路
设置两个功能,加密和解密,加密时先算ASCII值,然后根据规则改变ASCII值,输出对应的加密字符串,解密时,同样算出字符串的ASCII,根据规则改变ASCII值,输出对应的解密字符串。
2.程序流程图
3.源代码
package 课程作业1;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请选择:1加密2解密");//选择加密或者解密
Scanner input=new Scanner(System.in);
Scanner scanner=new Scanner(System.in);
int n,p1=0;
int p=input.nextInt();//输入选项,选择功能
if(p1==1)
{
System.out.println("请输入密码:");
String m=scanner.nextLine(); //输入字符串
System.out.println("输出加密密码:");
for(int i=0;i<m.length();i++)//每个字符的ASCII值
{
if(m.charAt(i)== 88)//x转换成a
{
p1=65;
}
else if(m.charAt(i)==89)//y转换成b
{
p1=66;
}
else if(m.charAt(i)==90)//z转换成c
{
p1=67;
}
else if(m.charAt(i)==120)//X转换成A
{
p1=97;
}
else if(m.charAt(i)==121)//Y转换成B
{
p1=98;
}
else if(m.charAt(i)==122)//Z转换成C
{
p1=99;
}
else
{ n=m.charAt(i);//其他字符转换
p1=n+3;
}
System.out.print((char)p1);//输出加密后的字符
}
}
if(p==2)
{
System.out.println("请输入密码:");
String m=scanner.nextLine();
System.out.println("输出解密密码:");
for(int i=0;i<m.length();i++)
{
if(m.charAt(i)== 65)//a转换成x
{
p1=88;
}
else if(m.charAt(i)==66)//b转换成y
{
p1=89;
}
else if(m.charAt(i)==67)//c转换成z
{
p1=90;
}
else if(m.charAt(i)==97)//A转换成X
{
p1=120;
}
else if(m.charAt(i)==98)//B转换成Y
{
p1=121;
}
else if(m.charAt(i)==99)//C转换成Z
{
p1=122;
}
else
{ n=m.charAt(i);//其他的字符解密
p1=n-3;
}
System.out.print((char)p1);//输出解密密码
}
}
}
}
4.实验截图