凯撒加密

Posted 喜欢二福的沧月君

tags:

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

古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:

解题思路:

键盘盘输入字符串,把字符串转换成数组,在数组中把根据ASCII表+3,在利用StringBuffer转换回字符串,解码原理相同。

程序框图:

程序

程序代码:

import java.util.Scanner;
class jiami
{
String b;
public jiami(String a)
{
b=a;
int m=b.length();
char [] ch = b.toCharArray();
for(int i=0;i<m;i++)
{
if((ch[i]>87&&ch[i]<91)||(ch[i]>118&&ch[i]<123))
ch[i]=(char) (ch[i]-23);
else
ch[i]=(char) ((ch[i])+3);
}
StringBuffer arr = new StringBuffer();

for(int i=0;i<m;i++)

{

arr.append(ch[i]);
}

String newstr = arr.toString();
System.out.println("加密后的密码是:"+newstr);
}
}
class jiemi
{
String b;
public jiemi(String a)
{
b=a;
int m=b.length();
char [] ch = b.toCharArray();
for(int i=0;i<m;i++)
{
if((ch[i]>97&&ch[i]<99)||(ch[i]>87&&ch[i]<91))
ch[i]=(char) (ch[i]+23);
ch[i]=(char) (ch[i]-3);
}
StringBuffer arr = new StringBuffer();

for(int i=0;i<m;i++)

{

arr.append(ch[i]);

}

String newstr = arr.toString();
System.out.println("解密后的密码是:"+newstr);
}
}
public class homework1 {
public static void main(String args[]){
Scanner cin=new Scanner(System.in);
System.out.println("请选择加密,还是解密,加密按1,解密按2");
int m=cin.nextInt();
if(m==1)
{
String a;
System.out.println("请输入密码");
a=cin.next();
jiami jia=new jiami(a);
}
else if(m==2)
{
String a;
System.out.println("请输入密码");
a=cin.next();
jiemi jie=new jiemi(a);
}
else System.out.println("输入错误");

}

}

截图:

 

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

凯撒加密与解密实现

jmu-python-凯撒密码加密算法,谢谢

凯撒加密

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

凯撒密码加密解密--JAVA实现(基础)

shell整理(38)===凯撒加密和解密