密码加密和解密

Posted 路上的小小滴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了密码加密和解密相关的知识,希望对你有一定的参考价值。

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.实验截图

 

以上是关于密码加密和解密的主要内容,如果未能解决你的问题,请参考以下文章

凯撒密码实现英文短句的加解密

尝试加密和解密 vigenere 密码

浅谈对称加密非对称加密和混合加密

入门密码学④非对称加密

加密解密工具:普莱费尔密码

密码加密和解密