import java.util.Scanner;
import java.lang.*;
public class password {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("key:");
int key=sc.nextInt();
System.out.println("輸入plaintext:");
String plain=sc.next();
char[] d =new char[plain.length()];
for ( int i = 0; i < plain.length(); ++i ) {
char c = plain.charAt( i );
int n = (int) c;
if(n<91 && n>64){
n=n+key-65;
n=n%26;
n+=65;
}
if(n<123 && n>96){
n=n+key-97;
n=n%26;
n+=97;
}
if(n<58 && n>47){
n=n+key-48;
n=n%10;
n+=48;
}
d[i]= (char)n;
}
System.out.println("加密ciphertext:");
System.out.println(d);
System.out.println("輸入ciphertext:");
String cipher=sc.next();
for ( int i = 0; i < cipher.length(); ++i ) {
char c = cipher.charAt( i );
int n = (int) c;
if(n<91 && n>64){
n=n-key-65;
if(n<0)
n=n+(26*key);
n=n%26;
n+=65;
}
if(n<123 && n>96){
n=n-key-97;
if(n<0)
n=n+(26*key);
n=n%26;
n+=97;
}
if(n<58 && n>47){
n=n-key-48;
if(n<0)
n=n+(10*key);
n=n%10;
n+=48;
}
d[i]= (char)n;
}
System.out.println("解密plaintext:");
System.out.println(d);
}
} |