導航:首頁 > 編程語言 > 凱撒密碼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相關的資料

熱點內容
pythonclass使用方法 瀏覽:221
移動加密軟體去哪下載 瀏覽:281
php彈出alert 瀏覽:207
吉林文檔課件加密費用 瀏覽:131
感測器pdf下載 瀏覽:284
隨車拍app綁定什麼設備 瀏覽:896
方維團購系統源碼 瀏覽:991
linux反彈shell 瀏覽:159
列印機介面加密狗還能用嗎 瀏覽:300
二板股票源碼 瀏覽:448
度人經pdf 瀏覽:902
怎麼配置android遠程伺服器地址 瀏覽:960
java程序員看哪些書 瀏覽:943
什麼app可以免費和外國人聊天 瀏覽:797
pdf手寫筆 瀏覽:182
別永遠傷在童年pdf 瀏覽:990
愛上北斗星男友在哪個app上看 瀏覽:421
主力散戶派發源碼 瀏覽:671
linux如何修復伺服器時間 瀏覽:61
榮縣優途網約車app叫什麼 瀏覽:479