1. 程式人生 > >密碼加密和解密

密碼加密和解密

加密 代碼 cnblogs void logs tint image () 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.實驗截圖

技術分享

技術分享

密碼加密和解密