Hallo,
ich habe mir mal diese Aufgabe rausgesucht und wollte die mal bearbeiten. Es geht um die XOR-Verschlüsselung in C++:
Einfacher Verschlüsselungsalgorithmus:
Eingabe: Zu verschlüsselnde Zeichenkette "text", Passwort "key"
Ausgabe: Verschlüsselte Zeichenkette "result".
Algorithm. Idee: Wandle jedes Zeichen text mit Hilfe einer bitweisen, exklusiven Oder-Operation (^in C++) um, bei der das Zeichen text verknüpft wird mit dem Passwort-Zeichen key. Falls i die Länge von key überschreitet, dann wird zyklisch der Anfang von key durchlaufen.
Implementieren Sie den Algorithmus in einer separaten Funktion
string encrypt (string text, string key)
und verschlüsseln Sie die vorgegebene Zeichenkette text mit Hilfe des vorgegebenen Passwortes key.
Das Programm für diese Aufgabe habe ich soweit auch geschrieben jedoch wird mir in der Main-Funktion ein Type-Fehler in Form von "int" angezeigt. Jedoch habe ich eine " int main" Funktion wodurch dieses Problem doch eig gar nicht auftreten sollte oder?
Ich hoffe ihr könnt mir helfen da das mein erstes Programm mit der XOR-Verschlüsselung ist und ich mir noch unsicher bin.
ich habe mir mal diese Aufgabe rausgesucht und wollte die mal bearbeiten. Es geht um die XOR-Verschlüsselung in C++:
Einfacher Verschlüsselungsalgorithmus:
Eingabe: Zu verschlüsselnde Zeichenkette "text", Passwort "key"
Ausgabe: Verschlüsselte Zeichenkette "result".
Algorithm. Idee: Wandle jedes Zeichen text mit Hilfe einer bitweisen, exklusiven Oder-Operation (^in C++) um, bei der das Zeichen text verknüpft wird mit dem Passwort-Zeichen key. Falls i die Länge von key überschreitet, dann wird zyklisch der Anfang von key durchlaufen.
Implementieren Sie den Algorithmus in einer separaten Funktion
string encrypt (string text, string key)
und verschlüsseln Sie die vorgegebene Zeichenkette text mit Hilfe des vorgegebenen Passwortes key.
Das Programm für diese Aufgabe habe ich soweit auch geschrieben jedoch wird mir in der Main-Funktion ein Type-Fehler in Form von "int" angezeigt. Jedoch habe ich eine " int main" Funktion wodurch dieses Problem doch eig gar nicht auftreten sollte oder?
PHP:
#include <iostream>
#include <string>
using namespace std;
string encrypt(string text, string key)
{
string result;
string toEncrypt = "fail";
char keyToEncrypt = 's'; //s oder 115 in ascii
for (int temp = 0; temp < toEncrypt.size(); temp++)
toEncrypt[temp] ^= keyToEncrypt;
cout << "nThe encrypted data = " << toEncrypt;
for (int temp = 0; temp < toEncrypt.size(); temp++)
toEncrypt[temp] ^= keyToEncrypt;
cout << "nThe unencrypted data = " << toEncrypt;
return result;
}
/** Hier beginnt das Hauptprogramm */
int main(int argc, char* argv[])
{
string text = "Dies ist irgendein Text.";
string key = "irgendein Passwort";
string encrypted = " ";
string unencrypt = " ";
for (int temp = 0; temp < text.size(); temp++){
encrypted += text[temp] ^ (int(key) + temp) % 255; // hier ebenfalls ein Typ Fehler bei int(key)
}
cout << "nEncrypted data = " << encrypted;
for (int temp = 0; temp < text.size(); temp++){
unencrypted += encrypted[temp] ^ (int(key) + temp) % 255; //unencrypted soll nicht definiert sein (ist es doch eigentlich) und int key soll ein Type-Fehler sein...
}
cout << "nUnencrypted data = " << unencrypt;
return 0;
}
Ich hoffe ihr könnt mir helfen da das mein erstes Programm mit der XOR-Verschlüsselung ist und ich mir noch unsicher bin.