<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[N00P braucht hilfe -- Verschlüsselung von dateien mit xor oder sowas?!]]></title><description><![CDATA[<p>Ich muss ein Programm zur Verschlüsselung von dateien schreiben... ich wollte eine andere datei als key benutzen... ich habe schon ein programm geschrieben, der verschlüsselt wohl, aber dekodiert den kram einfach nicht wieder. hab schon alles ausprobiert funkt aber nicht.. auf eine antwort würde ich mich mega freuen... (mit quelltext wäre perfekt)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/77429/n00p-braucht-hilfe-verschlüsselung-von-dateien-mit-xor-oder-sowas</link><generator>RSS for Node</generator><lastBuildDate>Tue, 30 Jun 2026 11:22:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/77429.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 21 Jun 2004 10:09:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to N00P braucht hilfe -- Verschlüsselung von dateien mit xor oder sowas?! on Mon, 21 Jun 2004 10:09:59 GMT]]></title><description><![CDATA[<p>Ich muss ein Programm zur Verschlüsselung von dateien schreiben... ich wollte eine andere datei als key benutzen... ich habe schon ein programm geschrieben, der verschlüsselt wohl, aber dekodiert den kram einfach nicht wieder. hab schon alles ausprobiert funkt aber nicht.. auf eine antwort würde ich mich mega freuen... (mit quelltext wäre perfekt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/544767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544767</guid><dc:creator><![CDATA[Noop@c++]]></dc:creator><pubDate>Mon, 21 Jun 2004 10:09:59 GMT</pubDate></item><item><title><![CDATA[Reply to N00P braucht hilfe -- Verschlüsselung von dateien mit xor oder sowas?! on Mon, 21 Jun 2004 10:22:36 GMT]]></title><description><![CDATA[<p>Noop@c++ schrieb:</p>
<blockquote>
<p>(mit quelltext wäre perfekt)</p>
</blockquote>
<p>Das gilt insbesondere für Problembeschreibungen!<br />
&quot;Funktioniert nicht&quot; reicht nicht aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/544778</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544778</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Mon, 21 Jun 2004 10:22:36 GMT</pubDate></item><item><title><![CDATA[Reply to N00P braucht hilfe -- Verschlüsselung von dateien mit xor oder sowas?! on Tue, 22 Jun 2004 08:46:34 GMT]]></title><description><![CDATA[<p>Tach auch !</p>
<p>Also wenn ich das richtig verstanden habe geht´s hier um Verschlüsselung !?!<br />
Da kannst du auch mal <a href="http://www.c-plusplus.net/forum/viewtopic.php?t=54873&amp;highlight=" rel="nofollow">hier</a> gugen ...</p>
<p>Greetz<br />
The Geek</p>
]]></description><link>https://www.c-plusplus.net/forum/post/545564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545564</guid><dc:creator><![CDATA[TheGeek]]></dc:creator><pubDate>Tue, 22 Jun 2004 08:46:34 GMT</pubDate></item><item><title><![CDATA[Reply to N00P braucht hilfe -- Verschlüsselung von dateien mit xor oder sowas?! on Tue, 22 Jun 2004 18:40:02 GMT]]></title><description><![CDATA[<p>Besten dank hat mir schon etwas weiter geholfen... ach ja un hier ist der quell text::::</p>
<pre><code class="language-cpp">include &lt;vcl\vcl.h&gt;
#pragma hdrstop

#include &quot;Unit1.h&quot;
//---------------------------------------------------------------------------
#pragma resource &quot;*.dfm&quot;
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
  // setzt alle Editfelder auf NULL
  Edit1-&gt;Text = &quot;&quot;;
  Edit2-&gt;Text = &quot;&quot;;
  Edit3-&gt;Text = &quot;&quot;;
  Edit4-&gt;Text = &quot;&quot;;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
	if (OpenDialog1-&gt;Execute())
  {
  	Edit1-&gt;Text = OpenDialog1-&gt;FileName;
  }	
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
	if (OpenDialog1-&gt;Execute())
  {
  	Edit2-&gt;Text = OpenDialog1-&gt;FileName;
  }	
}
//---------------------------------------------------------------------------

// vergleicht die editfelder wenn edit1 den inhalt wechselt
void __fastcall TForm1::Edit1Change(TObject *Sender)
{

	if (Form1-&gt;Edit1-&gt;Text != &quot;&quot; &amp;&amp; Form1-&gt;Edit2-&gt;Text != &quot;&quot; &amp;&amp;
  		Form1-&gt;Edit3-&gt;Text != &quot;&quot; &amp;&amp; Form1-&gt;Edit4-&gt;Text != &quot;&quot;)
  {
  	Form1-&gt;Button3-&gt;Enabled = true;
  // setzt Buttom 3 auf &quot;AN&quot;
  }
  else
  {
  	Form1-&gt;Button3-&gt;Enabled = false;
   // setzt Buttom 3 auf &quot;aus&quot;
    Form1-&gt;Button2-&gt;SetFocus();
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit2Change(TObject *Sender)
{
	if (Edit1-&gt;Text != &quot;&quot; &amp;&amp; Edit2-&gt;Text != &quot;&quot; &amp;&amp;
  		Edit3-&gt;Text != &quot;&quot; &amp;&amp; Edit4-&gt;Text != &quot;&quot;)
  {
  	Button3-&gt;Enabled = true;
  }
  else
  {
  	Button3-&gt;Enabled = false;
    Edit3-&gt;SetFocus();
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit3Change(TObject *Sender)
{
	if (Edit1-&gt;Text != &quot;&quot; &amp;&amp; Edit2-&gt;Text != &quot;&quot; &amp;&amp;
  		Edit3-&gt;Text != &quot;&quot; &amp;&amp; Edit4-&gt;Text != &quot;&quot;)
  {
  	Button3-&gt;Enabled = true;
  }
  else
  {
  	Button3-&gt;Enabled = false;
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit4Change(TObject *Sender)
{
	if (Edit1-&gt;Text != &quot;&quot; &amp;&amp; Edit2-&gt;Text != &quot;&quot; &amp;&amp;
  		Edit3-&gt;Text != &quot;&quot; &amp;&amp; Edit4-&gt;Text != &quot;&quot;)
  {
  	Button3-&gt;Enabled = true;
  }
  else
  {
  	Button3-&gt;Enabled = false;
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
  Edit1-&gt;Text = &quot;&quot;;
  Edit2-&gt;Text = &quot;&quot;;
  Edit3-&gt;Text = &quot;&quot;;
  Edit4-&gt;Text = &quot;&quot;;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::beenden1Click(TObject *Sender)
{
 Form1-&gt;Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
if(Edit1-&gt;Text == Edit2-&gt;Text)
  {
  	char *Text = &quot;Quell- und Zieldatei sind identisch!\nDies führt zur Zerstörung der Quelldatei.&quot;;

    Application-&gt;MessageBoxA(Text,&quot;Eingabefehler&quot;,MB_OK|MB_ICONWARNING);
    Button1-&gt;SetFocus();
  }
  else if(Edit3-&gt;Text != Edit4-&gt;Text)
   {
  	char *Text = &quot;Die Passworteingaben stimmen nicht überein!&quot;;

    Application-&gt;MessageBoxA(Text,&quot;Eingabefehler&quot;,MB_OK|MB_ICONWARNING);
    Edit3-&gt;SetFocus();
	}
  else
  {

  	using namespace std;            //Namensbereich festlegen

    //Cursor auf Sanduhr zum Start der Wandlung
    Screen-&gt;Cursor = crHourGlass;

  	char namequelle[1000]; //Speicher für Text reservieren
	  Edit1-&gt;GetTextBuf(namequelle, 1000); //Text in Speicher kopieren

  	char nameziel[1000];
	  Edit2-&gt;GetTextBuf(nameziel, 1000);

  	//Kanäle zu den Dateien werden geöffnet
  	if stream quelle(namequelle, ios::in|ios::binary);
	  ofstream ziel(nameziel, ios::out|ios::binary);

  	if(!quelle)
    {
	  	char *Text = &quot;Quelldatei existiert nicht!&quot;;

	    Application-&gt;MessageBoxA(Text,&quot;Eingabefehler&quot;,MB_OK|MB_ICONWARNING);
    	Button1-&gt;SetFocus();
    }
    else if(!ziel)
    {
	  	char *Text = &quot;Zieldatei kann nicht erzeugt werden!&quot;;

	    Application-&gt;MessageBoxA(Text,&quot;Systemfehler&quot;,MB_OK|MB_ICONERROR);
    	Button2-&gt;SetFocus();
    }
    else
    {
	    char keybox[256], sbox[256], passwort[30];
  	  int i, j=0, x=0, y=0, Zeichen;

      Edit3-&gt;GetTextBuf(passwort, 30);

			/*Verschlüsselt das Passwort in keybox Zeichen für Zeichen. Sind alle
      Zeichen des	Passwortes eingemappt, geht es mit dem ersten Zeichen weiter*/
  	  for (i=0;i&lt;=255;i++) keybox[i]=*(passwort+(i%StrLen(passwort)));

			//Füllt das Array sbox mit den ASCII-Zeichen von 0 bis 255
  	  for (i=0;i&lt;=255;i++)
			{
				sbox[i]=i;
			}

			for (i=0;i&lt;=255;i++)
			{
				//UND-Verknüpfung begrenzt Ergebnis auf ASCII-Zeichensatz
        j=(j+sbox[i]+keybox[i])&amp;255; //j muß bei der ersten Ausführung 0 sein!!
				//Austausch der ASCII-Zeichen von sbox[i] und sbox[j]
        swap(&amp;sbox[i],&amp;sbox[j]);
    	}

    	/*Liest ein Zeichen nach dem anderen aus der Quelldatei und schreibt das
      Ergebnis in die Zieldatei(ziel) bis EOF erreicht in der Quelldatei(quelle)
	  	Konvertiert dabei zeichenweise plaintext(Klarschrift) in
      ciphertext(Geheimschrift)*/
			while ((Zeichen = quelle.get()) != EOF)
			{
				//x entspricht der Anzahl der Aufrufe von rc4
		    x=(x+1) &amp; 255;
				//Begrenzung auf ASCII-Zeichensatz durch UND-Verknüpfung
	    	y=(y+sbox[x]) &amp; 255;
				//Austausch der ASCII-Zeichen von sbox[x] und sbox[y]
	    	swap(&amp;sbox[x],&amp;sbox[y]);
				/*XOR-Verknüpfung des Originalzeichens und dem sbox-Element
        {UND-Verknüpfung begrenzt auf ASCII-Zeichensatz}*/
				ziel.put(Zeichen ^ sbox[(sbox[x]+sbox[y]) &amp; 255]);
      }
      //Cursor zurücksetzen auf Default
      Screen-&gt;Cursor = crDefault;

	  	char *Text = &quot;Die Codierung/Decodierung wurde erfolgreich abgeschlossen!&quot;;

    	Application-&gt;MessageBoxA(Text,&quot;Information&quot;,MB_OK|MB_ICONINFORMATION);
      Edit3-&gt;Text = &quot;&quot;;
      Edit4-&gt;Text = &quot;&quot;;
      Button1-&gt;SetFocus();

  }
}

//---------------------------------------------------------------------------
</code></pre>
<p><strong>Edit:</strong><br />
Bitte die <strong><a href="http://c-plusplus.net/forum/faq.php?mode=bbcode" rel="nofollow">Code-Tags</a></strong> benutzen. Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/545939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545939</guid><dc:creator><![CDATA[NOOP@C++]]></dc:creator><pubDate>Tue, 22 Jun 2004 18:40:02 GMT</pubDate></item><item><title><![CDATA[Reply to N00P braucht hilfe -- Verschlüsselung von dateien mit xor oder sowas?! on Tue, 22 Jun 2004 18:32:13 GMT]]></title><description><![CDATA[<p>Hab mir jetzt deinen Code nicht angeschaut, aber schau auch mal hier: <a href="http://bcb-tutorial.c-plusplus.net/CodeSnippets/artikel3.html" rel="nofollow">http://bcb-tutorial.c-plusplus.net/CodeSnippets/artikel3.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/545969</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545969</guid><dc:creator><![CDATA[Maloo]]></dc:creator><pubDate>Tue, 22 Jun 2004 18:32:13 GMT</pubDate></item><item><title><![CDATA[Reply to N00P braucht hilfe -- Verschlüsselung von dateien mit xor oder sowas?! on Tue, 22 Jun 2004 18:32:29 GMT]]></title><description><![CDATA[<p>Hab mir jetzt deinen Code nicht angeschaut, aber schau auch mal hier: <a href="http://bcb-tutorial.c-plusplus.net/CodeSnippets/artikel3.html" rel="nofollow">http://bcb-tutorial.c-plusplus.net/CodeSnippets/artikel3.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/545971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545971</guid><dc:creator><![CDATA[Maloo]]></dc:creator><pubDate>Tue, 22 Jun 2004 18:32:29 GMT</pubDate></item><item><title><![CDATA[Reply to N00P braucht hilfe -- Verschlüsselung von dateien mit xor oder sowas?! on Tue, 22 Jun 2004 18:50:10 GMT]]></title><description><![CDATA[<p>Hi,<br />
also:</p>
<p>das hier:</p>
<pre><code class="language-cpp">if (Form1-&gt;Edit1-&gt;Text != &quot;&quot; &amp;&amp; Form1-&gt;Edit2-&gt;Text != &quot;&quot; &amp;&amp;
Form1-&gt;Edit3-&gt;Text != &quot;&quot; &amp;&amp; Form1-&gt;Edit4-&gt;Text != &quot;&quot;)
</code></pre>
<p>würde ich zur Übersichtlichkeit so schreiben (ich weiß nicht ob's notwendig ist):</p>
<pre><code class="language-cpp">if (((Form1-&gt;Edit1-&gt;Text != &quot;&quot;) &amp;&amp; (Form1-&gt;Edit2-&gt;Text != &quot;&quot;)) &amp;&amp;
((Form1-&gt;Edit3-&gt;Text != &quot;&quot;) &amp;&amp; (Form1-&gt;Edit4-&gt;Text != &quot;&quot;)))
</code></pre>
<p>Dann würde ich die OnChange von Edit1, Edit2, Edit3 und Edit4 auf die selbe Funktion setzen (du machst ja eh immer das selbe).</p>
<p>Und warum machst du das hier:</p>
<pre><code class="language-cpp">char *Text = &quot;Quell- und Zieldatei sind identisch!\nDies führt zur Zerstörung der Quelldatei.&quot;;
Application-&gt;MessageBoxA(Text,&quot;Eingabefehler&quot;,MB_OK|MB_ICONWARNING);
</code></pre>
<p>nicht einfach so:</p>
<pre><code class="language-cpp">Application-&gt;MessageBox(&quot;Quell- und Zieldatei sind identisch!\nDies führt zur Zerstörung der Quelldatei.&quot;,&quot;Eingabefehler&quot;,MB_OK|MB_ICONWARNING);
</code></pre>
<p>?</p>
<p>Das hier kommt am besten über TForm1 *Form1:</p>
<pre><code class="language-cpp">using namespace std;
</code></pre>
<p>Und kannst du mir mal logisch diese Struktur erklären? Woher kommt da das if bzw. wo endet es?</p>
<pre><code class="language-cpp">if stream quelle(namequelle, ios::in|ios::binary);
ofstream ziel(nameziel, ios::out|ios::binary);
</code></pre>
<p>Erstmal ein Anfang...</p>
<p>MfG</p>
<p>Alexander Sulfrian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/545986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545986</guid><dc:creator><![CDATA[Alexander Sulfrian]]></dc:creator><pubDate>Tue, 22 Jun 2004 18:50:10 GMT</pubDate></item></channel></rss>