eingelesene Buchstaben um eine bestimmte Zahl verschieben (Cäsar Verschlüsselung)
-
Hi,
hab schon wieder eine Frage.
Hab meinen verschlüsselten Text eingelesen und auch die Zahl um die die Buchstaben verschoben gehören (shift_key).
Nur jetz weiß ich nicht mehr ganz weiter. Wie kann ich diese Buchstaben jetzt um den key verschieben?? Sodass bei einem key von 4, aus einem A ein E wird.mfg max
-
zu den buchstaben vl 4 dazu zählen!?!?!?!?!? wegen ascii code
-
das is mir schon klar, nur wie komme ich zu den einzelnen Buchstaben?
In encrypted_text ist der Text gespeichert.
Bin totaler Anfänger! Hab den ersten Teil des Programms nicht geschrieben.mfg
-
mach dir einfach eine Schleife
for(i=0;i<=LängedesStrings;i++) { encrypted_text[i] = encrypted_text[i] +4; }
danach steht in encrypted_text der verschlüsselte Text.
Da ich jetzt mehrere Jahre nicht mehr aktiv Programmiert habe, weiß ich nicht mehr, ob += da auch funktioniert
und auch die Funktion für die Stringlänge ist mir entfallen *rotwerd*Ich hoffe, das hilft dir schonmal
-
Verschlüssellung ... verschiebung um 5 zeichen und vom zeichen 122 - 126 wird der kreislauf geschlossen.
for (x = 0; x < strlen(text_eing); x++) zwischen[x] = (int)text_eing[x]; for (x = 0; x < strlen(text_eing); x++) { if (zwischen[x] > 121 && zwischen[x] < 127) text_ausg[x] = (char)(zwischen[x] - 90); else text_ausg[x] = (char)(zwischen[x] + 5); }
entschlüssellung ...
for (x = 0; x < strlen(text_eing); x++) zwischen[x] = (int)text_eing[x]; for (x = 0; x < strlen(text_eing); x++) { if (zwischen[x] < 37 && zwischen[x] > 31) text_ausg[x] = (char)(zwischen[x] + 90); else text_ausg[x] = (char)(zwischen[x] - 5); }
kurze erläuterung:
-----------------das "zwischen" ist nur damit ich von dem jeweiligen textstück den int wert bekommen, welche ich verschieben kann ... als ich den code mal vor langer zeit geschriben habe, wusste ich net das es auch ohne geht
!
aba das prinzip ist klar, es wird um 5 zeichen verschoben und ab einem bestimmtem zeichen wird der kreisluf geschlossen (von char 32 - 126) ... !
vlt hilft es dir ja
-
hey Danke für die Hilfe!!
mfg