导航:首页 > 编程语言 > 凯撒密码java

凯撒密码java

发布时间:2022-08-17 19:11:23

1. java Caesar密码程序 凯撒密码问题!!!char c = abc.charAt(i);

不用类也是可以做的,不过看起来有些哆嗦,随便看一下吧,自己再改简单一点
using namespace std;
const int N=20;
void main()
{ int k;
void encipher(char c[],int b);
void decipher(char c[],int b);
char plaintext[N];

cout<<"Please enter the keywards k(0<k<26):"<<endl;
cin>>k;
cout<<"Please enter the plaintext:"<<endl;
cin>>plaintext;
cout<<"the ciphertext is:";
encipher(plaintext,k);
cout<<"the plaintext is:";
decipher(plaintext,k);

}

void encipher(char c[],int b)
{
int i;
int a[N];
for(i=0;i<N;i++)
a[i]=c[i]; //注:128~255是IBM-PC上专用的,ASCII代码中000-127是标准的,如果是z加20的就会超出128,故先赋给整型,然后再转换过来,
for(i=0;a[i]!='\0'&&i<N;i++)
{
if((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z'))
{
a[i]=a[i]+b;
if((a[i]>'Z'&&a[i]<='Z'+b)||(a[i]>'z'))
a[i]=a[i]-26;}

}
for(i=0;i<N;i++)
c[i]=a[i];
for(i=0;i<N;i++)
cout<<c[i];
cout<<endl;
}

void decipher(char c[],int b)

{
int i;
for(i=0;c[i]!='\0'&&i<N;i++)
{
if((c[i]>='A'&&c[i]<='Z')||(c[i]>='a'&&c[i]<='z'))
{
c[i]=c[i]-b;
if((c[i]>='a'-b&&c[i]<'a')||c[i]<'A')
c[i]=c[i]+26;}

}
for(i=0;i<N;i++)
cout<<c[i];
}

2. java代码的理解

输入一个明文密码,通过它这个算法(凯撒密码算法)进行加密,加密后的密码就是想机器码一样的一串看不懂的字符。然后他又给了解密的算法,你只要通过这段解密的算法,就可以把原来的加密的一串机器码变成明文密码。。。大致就是这个样子

3. 凯撒密码判断是不是整型,请高手指点。如下代码condition处

Scanner.nextInt() 返回的就是int类型,一定是整数,不会不是整数的

4. JAVA凯撒密码 选择问题

【看法】:
你的加密解密其实就是同一个方法,你是完全复制的,呵呵,连提示的话都没有改,那就给方法设置一个参数,根据参数判断是加密还是解密,其实就是提示不同罢了。
凯撒密码是最最原始的线性对称密码。
我给的选择菜单只有两个按钮,就是【加密】【解密】。显示都在控制台了,呵呵,你也可以自己在菜单上加一个JTextArea,把他们显示在菜单上面。
【代码】:
package Exam;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import javax.swing.*;
/**
*
* @author [email protected]
* Mar 5, 20103:11:29 PM
*/
public class Exam_exam01 extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
JFrame Jf;
JPanel Jp;
JButton but1,but2;
public void Menu(){//简单的选择页面
Jf=new JFrame("凯撒密码");
Jp=new JPanel();
but1=new JButton("加密");
but2=new JButton("解密");
Jp.add(but1);but1.addActionListener(this);
Jp.add(but2);but2.addActionListener(this);
Jf.add(Jp);
Jf.setSize(300,200);
Jf.setVisible(true);
}
public void actionPerformed(ActionEvent e){//事件处理
if(e.getSource()==but1) Cipher(0);
if(e.getSource()==but2) Cipher(1);
}
public void Cipher(int iNum){//凯撒密码 加密解密
try{
char b[];//存放密文
BufferedReader br2=new BufferedReader(new InputStreamReader(System.in));
if(iNum==0)System.out.println("请输入一段明文(只能输入小写字母):");
if(iNum==1)System.out.println("请输入一段密文(只能输入小写字母):");
String str2=br2.readLine();
b=str2.toCharArray();
if(iNum==0)System.out.println("密文为:");
if(iNum==1)System.out.println("明文为:");
for(int k=1;k<=26 ;k++ ){
for(int i=0;i<str2.length();i++){
char s=(char)((b[i]-'z'-k)%26+'z');//此处写“((b[i]-'a'-1)%26+'a')”也行
System.out.print(s);
}
System.out.println(" 密匙K="+k);
}
if(iNum==0)System.out.println("请在以上结果中查找可能的密文");
if(iNum==1)System.out.println("请在以上结果中查找可能的明文");
}catch(IOException e){
System.out.println(e.getMessage());
}
}
public static void main(String[] args){
Exam_exam01 ee=new Exam_exam01();
ee.Menu();
}
}

5. 凯撒密码java编程实现图形界面化代码

class Caesar: def __init__(self): a = list(' ,.-!\'"') b = a[3:] + a[:3] self.emap = dict(zip(a,b)) self.dmap = dict(zip(b,a)) def encode(self, text): tmp = [ (x in self.emap and self.emap[x] or x) for x in text ] return ''.join(tmp) def decode(self, text): tmp = [ (x in self.dmap and self.dmap[x] or x) for x in text ] return ''.join(tmp)

6. java凯撒密码 字符串转换成字符串组

亚历山大来的使节
晚上我们燃起一堆火
一路谄媚的获取
我沉浸在你给的乌托邦甜蜜信仰
就像生产中的孩子,而他的母亲正准备
中似浮尘风中转,暴雨倾盆落尘凡。哈哈

7. 利用java实现凯撒密码,要求密钥必须由键盘输入,不是定值,并且实现加密与解密

这个真心 不会!!!~~~如果你会了顺便告诉我啊 !!!!

8. 我想做一个凯撒密码的JAVA程序,在输入框中输入一段英文后密文后,能生成明文。

public class Swither {
public static void main(String[] args) {
System.out.println("ab,cdx;yz中国");
System.out.println(Encryption.encryption( "ab,cdx;yz中国"));
System.out.println(Decryption.decryption((Encryption.encryption( "ab,cdx;yz中国"))));
}
}
运行结果如下:
ab,cdx;yz中国
de,fga;bc中国
ab,cdx;yz中国

public class Encryption {

public static String encryption(String content)
{
if(content==null)
return null;
String temp="";
for(int i=0;i<content.length();i++)
{
char c=content.charAt(i);
//if(Character.isLetter(c))
if((c>='a' && c<='z')||(c>='A' && c<='Z'))
if(c=='x' || c=='y' || c=='z' || c=='X' || c=='Y' || c=='Z')
c=(char)(c-23);
else
c=(char)(c+3);
temp+=c;

}
return temp;
}

}

public class Decryption {

public static String decryption(String content)
{
if(content==null)
return null;
String temp="";
for(int i=0;i<content.length();i++)
{
char c=content.charAt(i);
//if(Character.isLetter(c))
if((c>='a' && c<='z')||(c>='A' && c<='Z'))
if(c=='a' || c=='b' || c=='c' || c=='A' || c=='B' || c=='C')
c=(char)(c+23);
else
c=(char)(c-3);
temp+=c;

}
return temp;
}

}

9. Java凯撒密码加解密

这不就几行代码吗,用框架来形容太夸张了吧。。。简单的字符串转ascii然后想加减就行了

阅读全文

与凯撒密码java相关的资料

热点内容
随车拍app绑定什么设备 浏览:895
方维团购系统源码 浏览:990
linux反弹shell 浏览:156
打印机接口加密狗还能用吗 浏览:299
二板股票源码 浏览:446
度人经pdf 浏览:902
怎么配置android远程服务器地址 浏览:960
java程序员看哪些书 浏览:943
什么app可以免费和外国人聊天 浏览:797
pdf手写笔 浏览:182
别永远伤在童年pdf 浏览:990
爱上北斗星男友在哪个app上看 浏览:421
主力散户派发源码 浏览:671
linux如何修复服务器时间 浏览:61
荣县优途网约车app叫什么 浏览:479
百姓网app截图是什么意思 浏览:229
php如何嵌入html 浏览:817
解压专家怎么传输 浏览:745
如何共享服务器的网络连接 浏览:136
程序员简易表白代码 浏览:170