String verschlüsseln |
chrlan1 unregistriert
|
|
Meine Frage:
Habe folgende Aufgabe zu lösen:
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)
Meine Ideen:
meine idee war das mit einer for schleife zu machen, wo der index vom array immer 1 höher, bzw niedriger wird. schaffe aber irgendwie gar nichts. steh total am schlauch.
ps: tut mir leid wenn ich das im falschen themengebiet gepostet habe
|
|
19.11.2011 18:11 |
|
|
chrlan1 unregistriert
|
|
habe folgenden quelltext:
#include <iostream>
#include <string>
using namespace std;
string encrypt(string text, string key)
{
string result;
for (int laenge = 0;laenge<text.length();laenge++)
{
result[laenge]=text[laenge]^key[laenge];
cout << result[laenge];
}
return result;
}
/** Hier beginnt das Hauptprogramm */
int main(int argc, char* argv[])
{
string text = "Dies ist irgendein Text.";
string key = "irgendein Passwort";
encrypt(text,key);
return 0;
}
stimmt der soweit? wenn ja dann wäre ich ja fertig
|
|
19.11.2011 19:05 |
|
|
Ich unregistriert
|
|
Du bist doch nicht zufällig auch beim Blanz? oder?
Google sei dank
|
|
20.11.2011 15:47 |
|
|
|