Java의 시저 암호
Caesar Cipher는 암호화를 수행하는 가장 간단한 방법 중 하나입니다. 이 튜토리얼은 Java에서 Caesar Cipher를 사용하여 암호화 및 복호화를 수행하는 방법을 보여줍니다.
Java의 시저 암호
Caesar Cipher는 암호화를 수행하는 초기 접근 방식입니다. 모든 프로그래밍 언어로 구현할 수 있습니다. 알고리즘은 간단합니다. 예를 들어 delftstack
텍스트에 대해 암호화를 수행하는 경우 Caesar Cipher 알고리즘은 문자를 알파벳 순서로 문자 아래의 고정 위치로 교체하여 텍스트를 암호화합니다.
우리는 정수인 키를 전달하여 문자를 암호화할 때 내려갈 위치를 결정합니다.
예를 들어, 텍스트가 ABCD
이고 키가 2인 경우 암호화된 텍스트는 CDEF
가 됩니다. Java에서 Caesar Cipher 암호화 접근 방식을 구현해 보겠습니다.
Java의 Caesar 암호 암호화
아래 코드는 Java에서 Caesar Cipher 암호화를 구현하는 방법을 보여줍니다.
package delftstack;
import java.util.Scanner;
public class Caesar_Cipher_Encrypt {
public static void main(String... s) {
String Original_Message, Encrypted_Message = "";
int Cipher_Key;
char Message_Char;
Scanner sc = new Scanner(System.in);
System.out.println("Please enter a message: ");
Original_Message = sc.nextLine();
System.out.println("Enter the key: ");
Cipher_Key = sc.nextInt();
for (int i = 0; i < Original_Message.length(); ++i) {
Message_Char = Original_Message.charAt(i);
if (Message_Char >= 'a' && Message_Char <= 'z') {
Message_Char = (char) (Message_Char + Cipher_Key);
if (Message_Char > 'z') {
Message_Char = (char) (Message_Char - 'z' + 'a' - 1);
}
Encrypted_Message += Message_Char;
} else if (Message_Char >= 'A' && Message_Char <= 'Z') {
Message_Char = (char) (Message_Char + Cipher_Key);
if (Message_Char > 'Z') {
Message_Char = (char) (Message_Char - 'Z' + 'A' - 1);
}
Encrypted_Message += Message_Char;
} else {
Encrypted_Message += Message_Char;
}
}
System.out.println("The Encrypted Message is : " + Encrypted_Message);
}
}
위의 코드는 Caesar Cipher 암호화 방법을 구현합니다. 출력 보기:
Please enter a message:
This is delftstack.com
Enter the key:
3
The Encrypted Message is : Wklv lv ghoiwvwdfn.frp
Java의 Caesar 암호 해독
암호 해독은 그 반대의 작업이 될 것입니다. Caesar Cipher 방법을 사용한 암호 해독 구현을 참조하십시오.
package delftstack;
import java.util.Scanner;
public class Caesar_Cipher_Decrypt {
public static void main(String... s) {
String Original_Message, Decrypted_Message = "";
int Cipher_Key;
char Message_Char;
Scanner sc = new Scanner(System.in);
System.out.println("Please enter an encrypted message: ");
Original_Message = sc.nextLine();
System.out.println("Enter the key: ");
Cipher_Key = sc.nextInt();
for (int i = 0; i < Original_Message.length(); ++i) {
Message_Char = Original_Message.charAt(i);
if (Message_Char >= 'a' && Message_Char <= 'z') {
Message_Char = (char) (Message_Char - Cipher_Key);
if (Message_Char < 'a') {
Message_Char = (char) (Message_Char + 'z' - 'a' + 1);
}
Decrypted_Message += Message_Char;
} else if (Message_Char >= 'A' && Message_Char <= 'Z') {
Message_Char = (char) (Message_Char - Cipher_Key);
if (Message_Char < 'A') {
Message_Char = (char) (Message_Char + 'Z' - 'A' + 1);
}
Decrypted_Message += Message_Char;
} else {
Decrypted_Message += Message_Char;
}
}
System.out.println("The Decrypted Message is : " + Decrypted_Message);
}
}
위의 코드는 Java에서 Caesar Cipher 암호 해독을 구현합니다. 출력 보기:
Please enter an encrypted message:
Wklv lv ghoiwvwdfn.frp
Enter the key:
3
The Decrypted Message is : This is delftstack.com
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook