Hallo Leute,
ich habe in Informatik ein Übungsblatt bekommen. Bis auf eine Aufgabe hab ich auch alle geschafft, nur bei einer hakt es ein bischen. Abgesehen davon, das ich garnicht so recht weis was der Prof. von mir will, weis ich nicht wo ich ansetzen soll um das Problem zu lösen. Unter "ihre Lösung" hab ich jeweils schon ein paar Ansätze versucht. Hier ist die Aufgabenstellung:
Wir betrachten den folgenden, einfachen Verschlüsselungsalgorithmus:
Eingabe: Zu verschlüsselnde Zeichenkette text, Passwort key
Ausgabe: Verschlüsselte Zeichenkette result.
Algorithm. Idee: Wandle jedes Zeichen text[i] mit Hilfe einer bitweisen, exklusiven Oder-Operation (^in C++) um, bei der das Zeichen text[i] verknüpft wird mit dem Passwort-Zeichen key[i]. Falls i die Länge von key überschreitet, dann wird zyklisch der Anfang von key durchlaufen.
Implementieren Sie den Algorithmus in einer seperaten Funktion
string encrypt (string text, string key)
und verschlüsseln Sie die vorgegebene Zeichenkette text mit Hilfe des vorgegebenen Passwortes key.
Hinweis: Schauen Sie sich die Definition der string-Klasse an, z.B. unter http://www.cplusplus.com/reference/string, insbesondere die Funktion length(), mit der die Länge eines Strings ermittelt werden kann.
Ebenso nützlich ist der (überladene) Operator "+", mit dem mehrere String-Objekte aneinandergefügt ("konkateniert") werden können (http://www.cplusplus.com/reference/string/operator+.html)
Und hier ist das Grundgerüst, was gegeben ist:
ich habe in Informatik ein Übungsblatt bekommen. Bis auf eine Aufgabe hab ich auch alle geschafft, nur bei einer hakt es ein bischen. Abgesehen davon, das ich garnicht so recht weis was der Prof. von mir will, weis ich nicht wo ich ansetzen soll um das Problem zu lösen. Unter "ihre Lösung" hab ich jeweils schon ein paar Ansätze versucht. Hier ist die Aufgabenstellung:
Wir betrachten den folgenden, einfachen Verschlüsselungsalgorithmus:
Eingabe: Zu verschlüsselnde Zeichenkette text, Passwort key
Ausgabe: Verschlüsselte Zeichenkette result.
Algorithm. Idee: Wandle jedes Zeichen text[i] mit Hilfe einer bitweisen, exklusiven Oder-Operation (^in C++) um, bei der das Zeichen text[i] verknüpft wird mit dem Passwort-Zeichen key[i]. Falls i die Länge von key überschreitet, dann wird zyklisch der Anfang von key durchlaufen.
Implementieren Sie den Algorithmus in einer seperaten Funktion
string encrypt (string text, string key)
und verschlüsseln Sie die vorgegebene Zeichenkette text mit Hilfe des vorgegebenen Passwortes key.
Hinweis: Schauen Sie sich die Definition der string-Klasse an, z.B. unter http://www.cplusplus.com/reference/string, insbesondere die Funktion length(), mit der die Länge eines Strings ermittelt werden kann.
Ebenso nützlich ist der (überladene) Operator "+", mit dem mehrere String-Objekte aneinandergefügt ("konkateniert") werden können (http://www.cplusplus.com/reference/string/operator+.html)
Und hier ist das Grundgerüst, was gegeben ist:
C++:
#include <iostream>
#include <string>
using namespace std;
int i;
string encrypt(string text, string key)
{
string result;
//Ihre Loesung
return result;
}
/** Hier beginnt das Hauptprogramm */
int main(int argc, char* argv[])
{
string text = "Dies ist irgendein Text.";
string key = "irgendein Passwort";
//Ihre Loesung
for (i=0; i<text.length(); i++) {
int b = (text[i] ^ key[i]);
cout << b;
}
return 0;
}