59 lines
2 KiB
Java
59 lines
2 KiB
Java
![]() |
import java.util.Scanner;
|
||
|
|
||
|
public class App {
|
||
|
public static void main(String[] args) {
|
||
|
Scanner scanner = new Scanner(System.in);
|
||
|
|
||
|
System.out.println("Enter a message to encrypt:");
|
||
|
String originalMessage = scanner.nextLine();
|
||
|
|
||
|
// Encrypt the message
|
||
|
System.out.println("Enter the encryption key (an integer):");
|
||
|
int encryptionKey = scanner.nextInt();
|
||
|
String encryptedMessage = encrypt(originalMessage, encryptionKey);
|
||
|
System.out.println("Encrypted message: " + encryptedMessage);
|
||
|
|
||
|
// Decrypt the message
|
||
|
String decryptedMessage = decrypt(encryptedMessage, encryptionKey);
|
||
|
System.out.println("Decrypted message: " + decryptedMessage);
|
||
|
|
||
|
scanner.close();
|
||
|
}
|
||
|
|
||
|
// Method to encrypt a message using Caesar cipher
|
||
|
private static String encrypt(String message, int key) {
|
||
|
StringBuilder encryptedText = new StringBuilder();
|
||
|
|
||
|
for (int i = 0; i < message.length(); i++) {
|
||
|
char currentChar = message.charAt(i);
|
||
|
|
||
|
if (Character.isLetter(currentChar)) {
|
||
|
char encryptedChar = (char) ((currentChar - 'A' + key) % 26 + 'A');
|
||
|
encryptedText.append(encryptedChar);
|
||
|
} else {
|
||
|
encryptedText.append(currentChar);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return encryptedText.toString();
|
||
|
}
|
||
|
|
||
|
// Method to decrypt an encrypted message using Caesar cipher
|
||
|
private static String decrypt(String encryptedMessage, int key) {
|
||
|
StringBuilder decryptedText = new StringBuilder();
|
||
|
|
||
|
for (int i = 0; i < encryptedMessage.length(); i++) {
|
||
|
char currentChar = encryptedMessage.charAt(i);
|
||
|
|
||
|
if (Character.isLetter(currentChar)) {
|
||
|
char decryptedChar = (char) ((currentChar - 'A' - key + 26) % 26 + 'A');
|
||
|
decryptedText.append(decryptedChar);
|
||
|
} else {
|
||
|
decryptedText.append(currentChar);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return decryptedText.toString();
|
||
|
}
|
||
|
}
|