IMS-java/Code/Steiner/theMostBasicHash/src/App.java
2024-08-27 10:41:17 +02:00

58 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();
}
}