Verschlüsseln
-
Für die Schule sollen wir ein Programm erstellen, das einen beliebigen Text mittels eines 8bit-Schlüssel (byteweises XOR) verschlüsselt. ( <= mehr oder weniger wörtlich die aufgabenstellung) Jetzt hab ich n bissel gesucht, einiges gefunden und auch ein Programm geschrieben:
int n=1; char crypt; char les[100], schreib[100]; cout<<" XOR-Verschl"<<char(129)<<"sselung mit 8 bit (Glaub ich :clown:\n\n"; cout<<"Welche Datei soll ver-/ entschl"<<char(129)<<"sselt werden?\n"; cin>>les; cout<<"In welche Datei soll geschrieben werden?\n"; cin>>schreib; ifstream text (les); ofstream write (schreib); while (!text.eof()) { crypt=text.get(); if (text.eof()) break; if ((crypt!=' ')&&(crypt!='\n')) { crypt = crypt ^ 8; } write<<crypt; n++; } gotoxy(1,10); cout<<n<<" Zeichen eingelesen und geschrieben!\n<Bitte Taste dr"<<char(129)<<"cken>"; text.close(); write.close(); getch();
Jetzt is meine Frage ob das das gesuchte is, oder ich was völlig falsches geschrieben hab...!?!?
schonmal jetzt ein gut gelauntes danke.....
-
Passt schon so. (Interesant wäre vielleicht noch, wie dann der verschlüsselte String aussieht ;).)
Als Fleißaufgabe könntest du noch versuchen nicht nur ein Zeichen als Schlüssel anzuwenden sondern mehrere.
Beispiel://anstatt unsigned char schluessel_8bit = 8; //sowas char schluessel[4] = "abc";
-
Danke danke....werd mal ein bischen rumprobieren! Das 8bit und XOR hatten mich ziemlich verwirrt, weil ich von Kryptographie absolut keine ahnung habe...
-
crypt = crypt ^ 8;
Ich hoffe du weißt, dass das bedeutet, dass dein Schlüssel 00001000 (= dezimal
ist. Die Acht hier hat nichts mit den 8 Bit zu tun, du könntest jedes andere 8Bit-Zeichen auch verwenden.
Da in C(++) hinter jedem char-Zeichen eine Zahl steckt, bedeutet das, dass du als Schlüssel die Zahlen von 0-255 benutzen kannst (eben 2 hoch 8 - 1).PM
-
oh....achso....das wusst ich nicht
danke für die Info.
So wird mir auch das ein oder andere ein bischen klarer!
-
Firefox spinnt nicht, er wird vielleicht vom internet Explorer abgelenkt
:p