<?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[Probleme bei Deklaration]]></title><description><![CDATA[<p>Hallo,</p>
<p>in einem Projekt benutze ich zur Verschlüsselung das dcpcrypt-Package von David Barton.</p>
<p>Obwohl die Anweisung</p>
<pre><code>unsigned char *ucDigest[20];
</code></pre>
<p>nur lokale Bedeutung zu haben scheint, funktioniert der Code nur, wenn er im Header als privat deklariert wird.</p>
<pre><code class="language-cpp">// xyz.h
private:
unsigned char *ucDigest[20];

// xyz.cpp
String KeyStr = &quot;123&quot;;
String str = &quot;Mein Geheimnis&quot;;
String str_crypt;

TDCP_sha1 *hash = new TDCP_sha1(this);
hash-&gt;Init();
hash-&gt;UpdateStr(KeyStr);    // generate a hash 
//unsigned char *ucDigest[20];
// Sonderbar: funktioniert nicht wenn lokal deklariert, sondern nur, wenn im Header als
//            privat deklariert 
hash-&gt;Final(ucDigest);            // save the hash in Digest
hash-&gt;Free();

Cipher = new TDCP_rc4(this);
Cipher-&gt;Init(ucDigest, sizeof(ucDigest)*8, NULL);  // remember size is in BITS (hence sizeof*8)
str_crypt = Cipher-&gt;EncryptString(str);
Cipher-&gt;Burn();
Cipher-&gt;Free();
</code></pre>
<p>Kann mir das jemand erklären?</p>
<p>Gruß<br />
Leo</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/115520/probleme-bei-deklaration</link><generator>RSS for Node</generator><lastBuildDate>Thu, 23 Jul 2026 09:41:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/115520.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 15 Jul 2005 10:04:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme bei Deklaration on Fri, 15 Jul 2005 10:04:51 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>in einem Projekt benutze ich zur Verschlüsselung das dcpcrypt-Package von David Barton.</p>
<p>Obwohl die Anweisung</p>
<pre><code>unsigned char *ucDigest[20];
</code></pre>
<p>nur lokale Bedeutung zu haben scheint, funktioniert der Code nur, wenn er im Header als privat deklariert wird.</p>
<pre><code class="language-cpp">// xyz.h
private:
unsigned char *ucDigest[20];

// xyz.cpp
String KeyStr = &quot;123&quot;;
String str = &quot;Mein Geheimnis&quot;;
String str_crypt;

TDCP_sha1 *hash = new TDCP_sha1(this);
hash-&gt;Init();
hash-&gt;UpdateStr(KeyStr);    // generate a hash 
//unsigned char *ucDigest[20];
// Sonderbar: funktioniert nicht wenn lokal deklariert, sondern nur, wenn im Header als
//            privat deklariert 
hash-&gt;Final(ucDigest);            // save the hash in Digest
hash-&gt;Free();

Cipher = new TDCP_rc4(this);
Cipher-&gt;Init(ucDigest, sizeof(ucDigest)*8, NULL);  // remember size is in BITS (hence sizeof*8)
str_crypt = Cipher-&gt;EncryptString(str);
Cipher-&gt;Burn();
Cipher-&gt;Free();
</code></pre>
<p>Kann mir das jemand erklären?</p>
<p>Gruß<br />
Leo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/831723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/831723</guid><dc:creator><![CDATA[Leo Freitag]]></dc:creator><pubDate>Fri, 15 Jul 2005 10:04:51 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Deklaration on Fri, 15 Jul 2005 10:11:22 GMT]]></title><description><![CDATA[<p>Du hast bei dem Rest auch nicht Explizit<br />
public:<br />
stehen.</p>
<p>schreib mal anstatt<br />
private:<br />
public:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/831729</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/831729</guid><dc:creator><![CDATA[YLIREBUS]]></dc:creator><pubDate>Fri, 15 Jul 2005 10:11:22 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Deklaration on Fri, 15 Jul 2005 10:53:28 GMT]]></title><description><![CDATA[<p>Also so wie ich das nun verstehe soll er in der .cpp alles private bzw. public definieren???????????????</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/831780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/831780</guid><dc:creator><![CDATA[Tom7]]></dc:creator><pubDate>Fri, 15 Jul 2005 10:53:28 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Deklaration on Fri, 15 Jul 2005 15:31:18 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>danke für die Antworten, aber mir scheint, ich habe meine Frage noch nicht ganz auf den Punkt gebracht. Daher hier noch einmal.</p>
<p>Mich wundert, warum es nicht ausreicht, besagte Deklaration ... lokal vorzunehmen, anstatt im public oder private-Bereich des Headers. Denn augenscheinlich wird ucDigest ein Wert zugewiesen, der wenige Zeilen später wieder abgerufen wird. Anschließend wird ucDigest nicht mehr benötigt.</p>
<pre><code class="language-cpp">hash-&gt;Final(ucDigest);            // save the hash in Digest
hash-&gt;Free();

Cipher = new TDCP_rc4(this);
Cipher-&gt;Init(ucDigest, sizeof(ucDigest)*8, NULL);  // remember size is in BITS (hence sizeof*8)
</code></pre>
<p>Hoffe, das war verständlicher!</p>
<p>Gruß<br />
Leo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/831851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/831851</guid><dc:creator><![CDATA[Leo Freitag]]></dc:creator><pubDate>Fri, 15 Jul 2005 15:31:18 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Deklaration on Fri, 15 Jul 2005 18:59:04 GMT]]></title><description><![CDATA[<p>Leo Freitag schrieb:</p>
<blockquote>
<p>//unsigned char *ucDigest[20];<br />
// Sonderbar: funktioniert nicht wenn lokal deklariert, sondern nur, wenn im</p>
</blockquote>
<p>Was bedeutet funktioniert nicht? genau?<br />
Was sagt der Debugger?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/831984</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/831984</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Fri, 15 Jul 2005 18:59:04 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Deklaration on Sat, 16 Jul 2005 12:48:00 GMT]]></title><description><![CDATA[<p>Erwartet die Funktion denn tatsächlich einen char**, oder nur einen char*.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/832275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/832275</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 16 Jul 2005 12:48:00 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Deklaration on Sat, 16 Jul 2005 13:13:02 GMT]]></title><description><![CDATA[<p>Denke dass ucDigest nirgends mit new angelegt worden ist. Wenns im Header steht dann funktionierts zufällig.<br />
BTW. der kommentar</p>
<pre><code class="language-cpp">Cipher-&gt;Init(ucDigest, sizeof(ucDigest)*8, NULL);  // remember size is in BITS (hence sizeof*8)
</code></pre>
<p>kann irgendwie nicht stimmen. sizeof(ucDigest) gibt dir die grösse eines pointers in bytes zurück ( höchstwahrscheinlich 4 ), Der Wert den du übergibst ist also 32. Die funktion Cipher-&gt;Init() erwartet höchstwahrscheinlich die grösse des buffers und der ist nur 20 bytes gross. Ohne das decrypt-package zu kennen würde ich sagen &quot;da stimmt was nicht&quot;.<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/832302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/832302</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 16 Jul 2005 13:13:02 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Deklaration on Sat, 16 Jul 2005 18:48:05 GMT]]></title><description><![CDATA[<p>DerAltenburger schrieb:</p>
<blockquote>
<p>Leo Freitag schrieb:</p>
<blockquote>
<p>//unsigned char *ucDigest[20];<br />
// Sonderbar: funktioniert nicht wenn lokal deklariert, sondern nur, wenn im</p>
</blockquote>
<p>Was bedeutet funktioniert nicht? genau?<br />
Was sagt der Debugger?</p>
</blockquote>
<p>Hallo,</p>
<p>in Variante A (Deklaration im Header) sagt der Debugger bei Breakpunkt in Zeile</p>
<pre><code class="language-cpp">hash-&gt;Final(ucDigest);            // save the hash in Digest
</code></pre>
<p>bei Maus auf 'ucDigest' = 01533514</p>
<p>in Variante B (Deklaration lokal) zeigt der Debugger bei Maus auf 'ucDigest' 20 Werte wie folgt: 004B4299, 004B42A1, etc</p>
<p>Gibt's dafür ne Erklärung?!</p>
<p>Gruß<br />
Leo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/832472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/832472</guid><dc:creator><![CDATA[Leo Freitag]]></dc:creator><pubDate>Sat, 16 Jul 2005 18:48:05 GMT</pubDate></item></channel></rss>