Verständnisfrage zum Verschlüsseln
-
Hey @all,
ich hatte mir schon folgenden Thread angesehen, jedoch ohne Erfolg
http://www.c-plusplus.net/forum/viewtopic.php?t=39469Hier mal der Code:
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" using namespace std; //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Beenden1Click(TObject *Sender) { this->Close(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Speichern1Click(TObject *Sender) { if(SaveDialog1->Execute() == ID_OK) { fstream file(SaveDialog1->FileName.c_str(), ios::out | ios::binary); if(file) { string line; line = RichEdit1->Lines->Text.c_str(); encode(Edit1->Text.c_str(), line); file.write(line.c_str(), line.length()); file.close(); } } } //--------------------------------------------------------------------------- void __fastcall TForm1::encode(string _Key, string& _Text) { for(int i=0, j=0; i<_Text.length(); i++, j++) { if(j>=_Key.length()) j = 0; _Text[i] ^= _Key[j]; } } //--------------------------------------------------------------------------- void __fastcall TForm1::ffnen1Click(TObject *Sender) { if(OpenDialog1->Execute() == ID_OK) { fstream file(OpenDialog1->FileName.c_str(), ios::in | ios::out | ios::binary); if(file) { file.seekg(0, ios::end); unsigned long filesize = streamoff(file.tellg()); file.seekg(0, ios::beg); char* pBuffer = new char[filesize]; file.read(pBuffer, filesize); string line = pBuffer; encode(Edit1->Text.c_str(), line); RichEdit1->Lines->Text = line.c_str(); file.close(); } } } //---------------------------------------------------------------------------Kann mir bitte jemand erklären, warum das lesen nicht funktioniert? ich bekomme immer nur eine gewisse Anzahl an Buchstaben dekodiert, beispielsweise
[ Zeige Optionen ] [ Verstecke Optionen ] [ Zeige Smilieliste ] [ Verstecke Smilieliste ] [ Zeige BB-Code-Tag-Buttons ] [ Verstecke BB-Code-Tag-Buttons ] [ Zeige Sonderzeichen-Buttons ] [ Verstecke Sonderzeichen-Buttons ]erzeugt beim Entschlüsseln
[ Zeige Optionen <javKann mir bitte jemand helfen?
MfG Roman1311
-
Hmm... hab' mich jetzt nicht genauer damit beschäftigt, aber du schreibst:
if(j>=_Key.length()) j = 0;Ist die ent/verschlüsselte Zeichenkette zufällig genauso lang wie dein Schlüssel?