Hallo liebe Community,
gibt es unter uns vielleicht Leute, die mir den Code Beispiel erklären können? Ich bin seit Tagen total verzweifelt und versuche heruszufindenwie es programmiert wurde. Ich hoffe ihr könnt mir helfen.
gibt es unter uns vielleicht Leute, die mir den Code Beispiel erklären können? Ich bin seit Tagen total verzweifelt und versuche heruszufindenwie es programmiert wurde. Ich hoffe ihr könnt mir helfen.
Java:
import java.util.Scanner;
public class vigenere {
public static char[] crypt(char[] plain, char[] key, int direction) {
char[] output = new char[plain.length];
for (int i = 0; i < plain.length; i++) {
//Verschluesseln
if (direction == 1) {
//Umrechnen für ASCII Tabelle
int result = (plain[i] + key[i % key.length]-194) % 26 ;
output[i] = (char) (result+97);
}
//Entschluesseln
else if (direction == 0){
int result;
if (plain[i] - key[i % key.length] < 0)
{
result = (plain[i]- key[i % key.length]+130) %26 + 97;
}
else
{
result = (plain[i] - key[i % key.length]) % 26 +97;
}
output[i] = (char) result;
}
}
return output;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Klartext eingeben:");
String plaintext = scanner.nextLine(); //ohne Umlaute
plaintext = plaintext.toLowerCase();
char[] plain = plaintext.toCharArray();
System.out.println("Schluesselwort eingeben:");
String keyword = scanner.nextLine();
keyword = keyword.toLowerCase();
char[] key = keyword.toCharArray();
char[] encrypted = crypt(plain, key, 1);
System.out.println("Verschluesselter Text:");
System.out.println(encrypted);
char[] decrypted = crypt(encrypted, key, 0);
System.out.println("Entschluesselter Text:");
System.out.println(decrypted);
scanner.close();
}
}
Zuletzt bearbeitet von einem Moderator: