Hallo libe Community. Das ist mein erstes Theam. Jay!
Ich habe versucht mit Java einen simplen Algorythmus zu scheiben einen Text mit einem 26 Zeichen langen Schlüssel verschlüsselt.
Das Programm teilt den Text in 4 Zeichen lange Texte und nimmt sich den ersten Buchstaben des ersten Blocks vor und überprüft ob es ein a/A - z/Z ist. Wenn es ein a/A ist wird er durch das erste Zeichen des Schlüssels ersetzt (Alphabetische Reihenfolge), da heis bei einem b/B das zweite Zeichen des Schlüssels.
Jedoch läuft es schon bei der Verschlüsselung schief, die Buchstaben des Textes bekommen die falscen Zeichen zugeordnet und ich weiß nicht wieso.
Es scheint, als wenn sich das Programm "verzählt" und stat dem ersten den vierten verwendet
Hier der Code:
Wäre grandios wenn mir einer helfen kann!
Ich habe versucht mit Java einen simplen Algorythmus zu scheiben einen Text mit einem 26 Zeichen langen Schlüssel verschlüsselt.
Das Programm teilt den Text in 4 Zeichen lange Texte und nimmt sich den ersten Buchstaben des ersten Blocks vor und überprüft ob es ein a/A - z/Z ist. Wenn es ein a/A ist wird er durch das erste Zeichen des Schlüssels ersetzt (Alphabetische Reihenfolge), da heis bei einem b/B das zweite Zeichen des Schlüssels.
Jedoch läuft es schon bei der Verschlüsselung schief, die Buchstaben des Textes bekommen die falscen Zeichen zugeordnet und ich weiß nicht wieso.
Java:
tmp //Block
keyc //Schlüssel als Array
msgt //Verschlüsselter Text zum decrypten
ke //Schlüssel zum decrypten
Es scheint, als wenn sich das Programm "verzählt" und stat dem ersten den vierten verwendet
Hier der Code:
Java:
public void encrypt(char[] t) {
for (int i = 0; i < 4; i++) {
if (tmp[i] == 'a' || tmp[i] == 'A') {
tmp[i] = keyc[0];
}
else if (tmp[i] == 'b' || tmp[i] == 'B') {
tmp[i] = keyc[1];
}
else if (tmp[i] == 'c' || tmp[i] == 'C') {
tmp[i] = keyc[2];
}
else if (tmp[i] == 'd' || tmp[i] == 'D') {
tmp[i] = keyc[3];
}
else if (tmp[i] == 'e' || tmp[i] == 'E') {
tmp[i] = keyc[4];
}
else if (tmp[i] == 'f' || tmp[i] == 'F') {
tmp[i] = keyc[5];
}
else if (tmp[i] == 'g' || tmp[i] == 'G') {
tmp[i] = keyc[6];
}
else if (tmp[i] == 'h' || tmp[i] == 'H') {
tmp[i] = keyc[7];
}
else if (tmp[i] == 'i' || tmp[i] == 'I') {
tmp[i] = keyc[8];
}
else if (tmp[i] == 'j' || tmp[i] == 'J') {
tmp[i] = keyc[9];
}
else if (tmp[i] == 'k' || tmp[i] == 'K') {
tmp[i] = keyc[10];
}
else if (tmp[i] == 'l' || tmp[i] == 'L') {
tmp[i] = keyc[11];
}
else if (tmp[i] == 'm' || tmp[i] == 'M') {
tmp[i] = keyc[12];
}
else if (tmp[i] == 'n' || tmp[i] == 'N') {
tmp[i] = keyc[13];
}
else if (tmp[i] == 'o' || tmp[i] == 'O') {
tmp[i] = keyc[0];
}
else if (tmp[i] == 'p' || tmp[i] == 'P') {
tmp[i] = keyc[14];
}
else if (tmp[i] == 'q' || tmp[i] == 'Q') {
tmp[i] = keyc[15];
}
else if (tmp[i] == 'r' || tmp[i] == 'R') {
tmp[i] = keyc[16];
}
else if (tmp[i] == 's' || tmp[i] == 'S') {
tmp[i] = keyc[17];
}
else if (tmp[i] == 't' || tmp[i] == 'T') {
tmp[i] = keyc[18];
}
else if (tmp[i] == 'u' || tmp[i] == 'U') {
tmp[i] = keyc[19];
}
else if (tmp[i] == 'v' || tmp[i] == 'V') {
tmp[i] = keyc[20];
}
else if (tmp[i] == 'w' || tmp[i] == 'W') {
tmp[i] = keyc[21];
}
else if (tmp[i] == 'x' || tmp[i] == 'X') {
tmp[i] = keyc[22];
}
else if (tmp[i] == 'y' || tmp[i] == 'Y') {
tmp[i] = keyc[23];
}
else if (tmp[i] == 'z' || tmp[i] == 'Z') {
tmp[i] = keyc[24];
}
}
}
public String decrypt(String msgt, String k) {
char[] m, ke;
m = msgt.toCharArray();
ke = k.toCharArray();
for (int i = 0; i < m.length; i++) {
if (m[i] == ke[0]) {
msgd = msgd + "a";
}
else if (m[i] == ke[1]) {
msgd = msgd + "b";
}
else if (m[i] == ke[2]) {
msgd = msgd + "c";
}
else if (m[i] == ke[3]) {
msgd = msgd + "d";
}
else if (m[i] == ke[4]) {
msgd = msgd + "e";
}
else if (m[i] == ke[5]) {
msgd = msgd + "f";
}
else if (m[i] == ke[6]) {
msgd = msgd + "g";
}
else if (m[i] == ke[7]) {
msgd = msgd + "h";
}
else if (m[i] == ke[8]) {
msgd = msgd + "i";
}
else if (m[i] == ke[9]) {
msgd = msgd + "j";
}
else if (m[i] == ke[10]) {
msgd = msgd + "k";
}
else if (m[i] == ke[11]) {
msgd = msgd + "l";
}
else if (m[i] == ke[12]) {
msgd = msgd + "m";
}
else if (m[i] == ke[13]) {
msgd = msgd + "n";
}
else if (m[i] == ke[14]) {
msgd = msgd + "o";
}
else if (m[i] == ke[15]) {
msgd = msgd + "p";
}
else if (m[i] == ke[16]) {
msgd = msgd + "q";
}
else if (m[i] == ke[17]) {
msgd = msgd + "r";
}
else if (m[i] == ke[18]) {
msgd = msgd + "s";
}
else if (m[i] == ke[19]) {
msgd = msgd + "t";
}
else if (m[i] == ke[20]) {
msgd = msgd + "u";
}
else if (m[i] == ke[21]) {
msgd = msgd + "v";
}
else if (m[i] == ke[22]) {
msgd = msgd + "w";
}
else if (m[i] == ke[23]) {
msgd = msgd + "x";
}
else if (m[i] == ke[24]) {
msgd = msgd + "y";
}
else if (m[i] == ke[25]) {
msgd = msgd + "z";
}
System.out.println(i);
}
return msgd;
}
Wäre grandios wenn mir einer helfen kann!