<?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[Wie erstelle ich einen MD5-Hash aus einem String in Code::Blocks (MinGW) (GELÖST)]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>*also ich bin überhaupt noch kein guter Coder. Ich hab gerade mal nen Trainer für nen Spiel erstellt was ja nicht wirklich schwer ist.</p>
<p>Jetzt habe ich wirklich über knapp 12 Stunden so ziemlich alle MD5 Beispiele die im Internet zu finden sind, versucht mit meiner IDE zu kompilieren, ohne Erfolg. Ich bin total am Ende!*</p>
<p>Kann mir vielleicht jemand ein simples Beispiel zeigen, wie ich mit einer Konsolenapplikation einen MD5 Hash aus einem String erzeugen kann und das jenes mit Code::Blocks (Wie Dev-C++ -&gt; MinGW) fehlerfrei funktioniert?</p>
<p>Gruss</p>
<p>BigL <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Wenns viel arbeit macht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /> Ich bin bereit auch 50 Euro (PSC/Überweisung) für etwas funktionierendes zu bezahlen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/259231/wie-erstelle-ich-einen-md5-hash-aus-einem-string-in-code-blocks-mingw-gelöst</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Apr 2026 18:28:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/259231.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Jan 2010 17:56:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie erstelle ich einen MD5-Hash aus einem String in Code::Blocks (MinGW) (GELÖST) on Wed, 20 Jan 2010 20:52:15 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>*also ich bin überhaupt noch kein guter Coder. Ich hab gerade mal nen Trainer für nen Spiel erstellt was ja nicht wirklich schwer ist.</p>
<p>Jetzt habe ich wirklich über knapp 12 Stunden so ziemlich alle MD5 Beispiele die im Internet zu finden sind, versucht mit meiner IDE zu kompilieren, ohne Erfolg. Ich bin total am Ende!*</p>
<p>Kann mir vielleicht jemand ein simples Beispiel zeigen, wie ich mit einer Konsolenapplikation einen MD5 Hash aus einem String erzeugen kann und das jenes mit Code::Blocks (Wie Dev-C++ -&gt; MinGW) fehlerfrei funktioniert?</p>
<p>Gruss</p>
<p>BigL <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Wenns viel arbeit macht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /> Ich bin bereit auch 50 Euro (PSC/Überweisung) für etwas funktionierendes zu bezahlen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842156</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842156</guid><dc:creator><![CDATA[BigL]]></dc:creator><pubDate>Wed, 20 Jan 2010 20:52:15 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstelle ich einen MD5-Hash aus einem String in Code::Blocks (MinGW) (GELÖST) on Wed, 20 Jan 2010 19:28:11 GMT]]></title><description><![CDATA[<pre><code>/*
 **********************************************************************
 ** md5.h -- Header file for implementation of MD5                   **
 ** RSA Data Security, Inc. MD5 Message Digest Algorithm             **
 ** Created: 2/17/90 RLR                                             **
 ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version              **
 ** Revised (for MD5): RLR 4/27/91                                   **
 **   -- G modified to have y&amp;~z instead of y&amp;z                      **
 **   -- FF, GG, HH modified to add in last register done            **
 **   -- Access pattern: round 2 works mod 5, round 3 works mod 3    **
 **   -- distinct additive constant for each step                    **
 **   -- round 4 added, working mod 7                                **
 **********************************************************************
 */

/*
 **********************************************************************
 ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. **
 **                                                                  **
 ** License to copy and use this software is granted provided that   **
 ** it is identified as the &quot;RSA Data Security, Inc. MD5 Message     **
 ** Digest Algorithm&quot; in all material mentioning or referencing this **
 ** software or this function.                                       **
 **                                                                  **
 ** License is also granted to make and use derivative works         **
 ** provided that such works are identified as &quot;derived from the RSA **
 ** Data Security, Inc. MD5 Message Digest Algorithm&quot; in all         **
 ** material mentioning or referencing the derived work.             **
 **                                                                  **
 ** RSA Data Security, Inc. makes no representations concerning      **
 ** either the merchantability of this software or the suitability   **
 ** of this software for any particular purpose.  It is provided &quot;as **
 ** is&quot; without express or implied warranty of any kind.             **
 **                                                                  **
 ** These notices must be retained in any copies of any part of this **
 ** documentation and/or software.                                   **
 **********************************************************************
 */

/* typedef a 32 bit type */
typedef unsigned long int UINT4;

/* Data structure for MD5 (Message Digest) computation */
typedef struct {
  UINT4 i[2];                   /* number of _bits_ handled mod 2^64 */
  UINT4 buf[4];                                    /* scratch buffer */
  unsigned char in[64];                              /* input buffer */
  unsigned char digest[16];     /* actual digest after MD5Final call */
} MD5_CTX;

/*
 **********************************************************************
 ** End of md5.h                                                     **
 ******************************* (cut) ********************************
 */

/*
 **********************************************************************
 ** md5.c                                                            **
 ** RSA Data Security, Inc. MD5 Message Digest Algorithm             **
 ** Created: 2/17/90 RLR                                             **
 ** Revised: 1/91 SRD,AJ,BSK,JT Reference C Version                  **
 **********************************************************************
 */

/*
 **********************************************************************
 ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. **
 **                                                                  **
 ** License to copy and use this software is granted provided that   **
 ** it is identified as the &quot;RSA Data Security, Inc. MD5 Message     **
 ** Digest Algorithm&quot; in all material mentioning or referencing this **
 ** software or this function.                                       **
 **                                                                  **
 ** License is also granted to make and use derivative works         **
 ** provided that such works are identified as &quot;derived from the RSA **
 ** Data Security, Inc. MD5 Message Digest Algorithm&quot; in all         **
 ** material mentioning or referencing the derived work.             **
 **                                                                  **
 ** RSA Data Security, Inc. makes no representations concerning      **
 ** either the merchantability of this software or the suitability   **
 ** of this software for any particular purpose.  It is provided &quot;as **
 ** is&quot; without express or implied warranty of any kind.             **
 **                                                                  **
 ** These notices must be retained in any copies of any part of this **
 ** documentation and/or software.                                   **
 **********************************************************************
 */

/* -- include the following line if the md5.h header file is separate -- */
/* #include &quot;md5.h&quot; */

/* forward declaration */
static void Transform ();

static unsigned char PADDING[64] = {
  0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

/* F, G and H are basic MD5 functions: selection, majority, parity */
#define F(x, y, z) (((x) &amp; (y)) | ((~x) &amp; (z)))
#define G(x, y, z) (((x) &amp; (z)) | ((y) &amp; (~z)))
#define H(x, y, z) ((x) ^ (y) ^ (z))
#define I(x, y, z) ((y) ^ ((x) | (~z))) 

/* ROTATE_LEFT rotates x left n bits */
#define ROTATE_LEFT(x, n) (((x) &lt;&lt; (n)) | ((x) &gt;&gt; (32-(n))))

/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4 */
/* Rotation is separate from addition to prevent recomputation */
#define FF(a, b, c, d, x, s, ac) \
  {(a) += F ((b), (c), (d)) + (x) + (UINT4)(ac); \
   (a) = ROTATE_LEFT ((a), (s)); \
   (a) += (b); \
  }
#define GG(a, b, c, d, x, s, ac) \
  {(a) += G ((b), (c), (d)) + (x) + (UINT4)(ac); \
   (a) = ROTATE_LEFT ((a), (s)); \
   (a) += (b); \
  }
#define HH(a, b, c, d, x, s, ac) \
  {(a) += H ((b), (c), (d)) + (x) + (UINT4)(ac); \
   (a) = ROTATE_LEFT ((a), (s)); \
   (a) += (b); \
  }
#define II(a, b, c, d, x, s, ac) \
  {(a) += I ((b), (c), (d)) + (x) + (UINT4)(ac); \
   (a) = ROTATE_LEFT ((a), (s)); \
   (a) += (b); \
  }

void MD5Init (mdContext)
MD5_CTX *mdContext;
{
  mdContext-&gt;i[0] = mdContext-&gt;i[1] = (UINT4)0;

  /* Load magic initialization constants.
   */
  mdContext-&gt;buf[0] = (UINT4)0x67452301;
  mdContext-&gt;buf[1] = (UINT4)0xefcdab89;
  mdContext-&gt;buf[2] = (UINT4)0x98badcfe;
  mdContext-&gt;buf[3] = (UINT4)0x10325476;
}

void MD5Update (MD5_CTX *mdContext, unsigned char *inBuf, unsigned int inLen)
{
  UINT4 in[16];
  int mdi;
  unsigned int i, ii;

  /* compute number of bytes mod 64 */
  mdi = (int)((mdContext-&gt;i[0] &gt;&gt; 3) &amp; 0x3F);

  /* update number of bits */
  if ((mdContext-&gt;i[0] + ((UINT4)inLen &lt;&lt; 3)) &lt; mdContext-&gt;i[0])
    mdContext-&gt;i[1]++;
  mdContext-&gt;i[0] += ((UINT4)inLen &lt;&lt; 3);
  mdContext-&gt;i[1] += ((UINT4)inLen &gt;&gt; 29);

  while (inLen--) {
    /* add new character to buffer, increment mdi */
    mdContext-&gt;in[mdi++] = *inBuf++;

    /* transform if necessary */
    if (mdi == 0x40) {
      for (i = 0, ii = 0; i &lt; 16; i++, ii += 4)
        in[i] = (((UINT4)mdContext-&gt;in[ii+3]) &lt;&lt; 24) |
                (((UINT4)mdContext-&gt;in[ii+2]) &lt;&lt; 16) |
                (((UINT4)mdContext-&gt;in[ii+1]) &lt;&lt; 8) |
                ((UINT4)mdContext-&gt;in[ii]);
      Transform (mdContext-&gt;buf, in);
      mdi = 0;
    }
  }
}

void MD5Final (MD5_CTX *mdContext)
{
  UINT4 in[16];
  int mdi;
  unsigned int i, ii;
  unsigned int padLen;

  /* save number of bits */
  in[14] = mdContext-&gt;i[0];
  in[15] = mdContext-&gt;i[1];

  /* compute number of bytes mod 64 */
  mdi = (int)((mdContext-&gt;i[0] &gt;&gt; 3) &amp; 0x3F);

  /* pad out to 56 mod 64 */
  padLen = (mdi &lt; 56) ? (56 - mdi) : (120 - mdi);
  MD5Update (mdContext, PADDING, padLen);

  /* append length in bits and transform */
  for (i = 0, ii = 0; i &lt; 14; i++, ii += 4)
    in[i] = (((UINT4)mdContext-&gt;in[ii+3]) &lt;&lt; 24) |
            (((UINT4)mdContext-&gt;in[ii+2]) &lt;&lt; 16) |
            (((UINT4)mdContext-&gt;in[ii+1]) &lt;&lt; 8) |
            ((UINT4)mdContext-&gt;in[ii]);
  Transform (mdContext-&gt;buf, in);

  /* store buffer in digest */
  for (i = 0, ii = 0; i &lt; 4; i++, ii += 4) {
    mdContext-&gt;digest[ii] = (unsigned char)(mdContext-&gt;buf[i] &amp; 0xFF);
    mdContext-&gt;digest[ii+1] =
      (unsigned char)((mdContext-&gt;buf[i] &gt;&gt; 8) &amp; 0xFF);
    mdContext-&gt;digest[ii+2] =
      (unsigned char)((mdContext-&gt;buf[i] &gt;&gt; 16) &amp; 0xFF);
    mdContext-&gt;digest[ii+3] =
      (unsigned char)((mdContext-&gt;buf[i] &gt;&gt; 24) &amp; 0xFF);
  }
}

/* Basic MD5 step. Transform buf based on in.
 */
static void Transform (UINT4 *buf, UINT4 *in)
{
  UINT4 a = buf[0], b = buf[1], c = buf[2], d = buf[3];

  /* Round 1 */
#define S11 7
#define S12 12
#define S13 17
#define S14 22
  FF ( a, b, c, d, in[ 0], S11, 3614090360); /* 1 */
  FF ( d, a, b, c, in[ 1], S12, 3905402710); /* 2 */
  FF ( c, d, a, b, in[ 2], S13,  606105819); /* 3 */
  FF ( b, c, d, a, in[ 3], S14, 3250441966); /* 4 */
  FF ( a, b, c, d, in[ 4], S11, 4118548399); /* 5 */
  FF ( d, a, b, c, in[ 5], S12, 1200080426); /* 6 */
  FF ( c, d, a, b, in[ 6], S13, 2821735955); /* 7 */
  FF ( b, c, d, a, in[ 7], S14, 4249261313); /* 8 */
  FF ( a, b, c, d, in[ 8], S11, 1770035416); /* 9 */
  FF ( d, a, b, c, in[ 9], S12, 2336552879); /* 10 */
  FF ( c, d, a, b, in[10], S13, 4294925233); /* 11 */
  FF ( b, c, d, a, in[11], S14, 2304563134); /* 12 */
  FF ( a, b, c, d, in[12], S11, 1804603682); /* 13 */
  FF ( d, a, b, c, in[13], S12, 4254626195); /* 14 */
  FF ( c, d, a, b, in[14], S13, 2792965006); /* 15 */
  FF ( b, c, d, a, in[15], S14, 1236535329); /* 16 */

  /* Round 2 */
#define S21 5
#define S22 9
#define S23 14
#define S24 20
  GG ( a, b, c, d, in[ 1], S21, 4129170786); /* 17 */
  GG ( d, a, b, c, in[ 6], S22, 3225465664); /* 18 */
  GG ( c, d, a, b, in[11], S23,  643717713); /* 19 */
  GG ( b, c, d, a, in[ 0], S24, 3921069994); /* 20 */
  GG ( a, b, c, d, in[ 5], S21, 3593408605); /* 21 */
  GG ( d, a, b, c, in[10], S22,   38016083); /* 22 */
  GG ( c, d, a, b, in[15], S23, 3634488961); /* 23 */
  GG ( b, c, d, a, in[ 4], S24, 3889429448); /* 24 */
  GG ( a, b, c, d, in[ 9], S21,  568446438); /* 25 */
  GG ( d, a, b, c, in[14], S22, 3275163606); /* 26 */
  GG ( c, d, a, b, in[ 3], S23, 4107603335); /* 27 */
  GG ( b, c, d, a, in[ 8], S24, 1163531501); /* 28 */
  GG ( a, b, c, d, in[13], S21, 2850285829); /* 29 */
  GG ( d, a, b, c, in[ 2], S22, 4243563512); /* 30 */
  GG ( c, d, a, b, in[ 7], S23, 1735328473); /* 31 */
  GG ( b, c, d, a, in[12], S24, 2368359562); /* 32 */

  /* Round 3 */
#define S31 4
#define S32 11
#define S33 16
#define S34 23
  HH ( a, b, c, d, in[ 5], S31, 4294588738); /* 33 */
  HH ( d, a, b, c, in[ 8], S32, 2272392833); /* 34 */
  HH ( c, d, a, b, in[11], S33, 1839030562); /* 35 */
  HH ( b, c, d, a, in[14], S34, 4259657740); /* 36 */
  HH ( a, b, c, d, in[ 1], S31, 2763975236); /* 37 */
  HH ( d, a, b, c, in[ 4], S32, 1272893353); /* 38 */
  HH ( c, d, a, b, in[ 7], S33, 4139469664); /* 39 */
  HH ( b, c, d, a, in[10], S34, 3200236656); /* 40 */
  HH ( a, b, c, d, in[13], S31,  681279174); /* 41 */
  HH ( d, a, b, c, in[ 0], S32, 3936430074); /* 42 */
  HH ( c, d, a, b, in[ 3], S33, 3572445317); /* 43 */
  HH ( b, c, d, a, in[ 6], S34,   76029189); /* 44 */
  HH ( a, b, c, d, in[ 9], S31, 3654602809); /* 45 */
  HH ( d, a, b, c, in[12], S32, 3873151461); /* 46 */
  HH ( c, d, a, b, in[15], S33,  530742520); /* 47 */
  HH ( b, c, d, a, in[ 2], S34, 3299628645); /* 48 */

  /* Round 4 */
#define S41 6
#define S42 10
#define S43 15
#define S44 21
  II ( a, b, c, d, in[ 0], S41, 4096336452); /* 49 */
  II ( d, a, b, c, in[ 7], S42, 1126891415); /* 50 */
  II ( c, d, a, b, in[14], S43, 2878612391); /* 51 */
  II ( b, c, d, a, in[ 5], S44, 4237533241); /* 52 */
  II ( a, b, c, d, in[12], S41, 1700485571); /* 53 */
  II ( d, a, b, c, in[ 3], S42, 2399980690); /* 54 */
  II ( c, d, a, b, in[10], S43, 4293915773); /* 55 */
  II ( b, c, d, a, in[ 1], S44, 2240044497); /* 56 */
  II ( a, b, c, d, in[ 8], S41, 1873313359); /* 57 */
  II ( d, a, b, c, in[15], S42, 4264355552); /* 58 */
  II ( c, d, a, b, in[ 6], S43, 2734768916); /* 59 */
  II ( b, c, d, a, in[13], S44, 1309151649); /* 60 */
  II ( a, b, c, d, in[ 4], S41, 4149444226); /* 61 */
  II ( d, a, b, c, in[11], S42, 3174756917); /* 62 */
  II ( c, d, a, b, in[ 2], S43,  718787259); /* 63 */
  II ( b, c, d, a, in[ 9], S44, 3951481745); /* 64 */

  buf[0] += a;
  buf[1] += b;
  buf[2] += c;
  buf[3] += d;
}

/*
 **********************************************************************
 ** End of md5.c                                                     **
 ******************************* (cut) ********************************
 */

/* Computes the message digest for string inString.
   Prints out message digest, a space, the string (in quotes) and a
   carriage return.
 */
static void MDString (inString)
char *inString;
{
  MD5_CTX mdContext;
  unsigned int len = (unsigned int)strlen (inString);

  MD5Init (&amp;mdContext);
  MD5Update (&amp;mdContext, inString, len);
  MD5Final (&amp;mdContext);
}

#include &lt;stdio.h&gt;
#include &lt;string.h&gt;

// test
int main (void)
{
   char in[256];
   MD5_CTX ctx;
   int i;

   // string eingeben
   printf (&quot;just enter something: &quot;);
   scanf (&quot;%s&quot;, in); 

   // md5 machen
   MD5Init (&amp;ctx);
   MD5Update (&amp;ctx, in, (unsigned int)strlen(in));
   MD5Final (&amp;ctx);

   // ausgeben
   printf (&quot;MD5 hash of %s is: &quot;, in);
   for (i = 0; i &lt; 16; i++)
      printf (&quot;%02x&quot;, ctx.digest[i]);
   puts (&quot;&quot;);
}
</code></pre>
<p>^^das geld spende einer gemeinnützigen organisation (nein, nicht an die FDP).<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842194</guid><dc:creator><![CDATA[;fricky]]></dc:creator><pubDate>Wed, 20 Jan 2010 19:28:11 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstelle ich einen MD5-Hash aus einem String in Code::Blocks (MinGW) (GELÖST) on Wed, 20 Jan 2010 19:30:18 GMT]]></title><description><![CDATA[<p>^^ ach so, die funktion 'MDString' schmeiss raus, ist uralt-stil und wird sowieso nicht gebraucht.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842195</guid><dc:creator><![CDATA[;fricky]]></dc:creator><pubDate>Wed, 20 Jan 2010 19:30:18 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstelle ich einen MD5-Hash aus einem String in Code::Blocks (MinGW) (GELÖST) on Wed, 20 Jan 2010 19:58:08 GMT]]></title><description><![CDATA[<p>hi ;fricky</p>
<p>danke für den code...</p>
<p>funktioniert nur leider nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /></p>
<p>mal wieder millionen von fehler...</p>
<pre><code class="language-cpp">main.cpp|139|error: variable or field `MD5Init' declared void|
main.cpp|139|error: `mdContext' was not declared in this scope|
main.cpp|140|error: expected `,' or `;' before &quot;MD5_CTX&quot;|
main.cpp|141|error: expected unqualified-id before '{' token|
main.cpp||In function `void MD5Update(MD5_CTX*, unsigned char*, unsigned int)':|
main.cpp|94|error: too many arguments to function `void Transform()'|
main.cpp|178|error: at this point in file|
main.cpp||In function `void MD5Final(MD5_CTX*)':|
main.cpp|94|error: too many arguments to function `void Transform()'|
main.cpp|208|error: at this point in file|
main.cpp||In function `void Transform(UINT4*, UINT4*)':|
main.cpp|233|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|234|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|236|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|237|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|239|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|240|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|242|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|243|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|244|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|246|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|247|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|255|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|256|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|258|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|259|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|261|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|262|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|264|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|265|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|267|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|268|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|270|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|277|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|278|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|280|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|281|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|283|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|284|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|286|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|287|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|289|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|290|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|292|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|299|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|301|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|302|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|304|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|305|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|306|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|308|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|309|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|311|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|312|warning: this decimal constant is unsigned only in ISO C90|
main.cpp|314|warning: this decimal constant is unsigned only in ISO C90|
main.cpp||In function `int main()':|
main.cpp|349|error: `MD5Init' cannot be used as a function|
main.cpp|350|error: invalid conversion from `char*' to `unsigned char*'|
main.cpp|350|error:   initializing argument 2 of `void MD5Update(MD5_CTX*, unsigned char*, unsigned int)'|
main.cpp|94|warning: 'void Transform()' declared `static' but never defined|
main.cpp|225|warning: 'void Transform(UINT4*, UINT4*)' defined but not used|
||=== Build finished: 11 errors, 46 warnings ===|
</code></pre>
<p>Rausgeschmissen hab ich</p>
<pre><code class="language-cpp">static void MDString (inString)
char *inString;
{
  MD5_CTX mdContext;
  unsigned int len = (unsigned int)strlen (inString);

  MD5Init (&amp;mdContext);
  MD5Update (&amp;mdContext, inString, len);
  MD5Final (&amp;mdContext);
}
</code></pre>
<p>Mit funktionierts auch nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>gruß</p>
<p>B</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842214</guid><dc:creator><![CDATA[BigL]]></dc:creator><pubDate>Wed, 20 Jan 2010 19:58:08 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstelle ich einen MD5-Hash aus einem String in Code::Blocks (MinGW) (GELÖST) on Wed, 20 Jan 2010 20:12:07 GMT]]></title><description><![CDATA[<p>MD5String muss auf jeden fall raus. ändere den kopf von MD5Init von...</p>
<pre><code>void MD5Init (mdContext)
MD5_CTX *mdContext;
</code></pre>
<p>in das...</p>
<pre><code>void MD5Init (MD5_CTX *mdContext)
</code></pre>
<p>^^schon müssten ein paar fehlerchen weg sein.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842229</guid><dc:creator><![CDATA[;fricky]]></dc:creator><pubDate>Wed, 20 Jan 2010 20:12:07 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstelle ich einen MD5-Hash aus einem String in Code::Blocks (MinGW) (GELÖST) on Wed, 20 Jan 2010 20:16:01 GMT]]></title><description><![CDATA[<p>hi ;fricky,</p>
<p>danke für deine mühe,</p>
<p>nur leider folgt direkt der nächste fehler <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /></p>
<pre><code class="language-cpp">main.cpp||In function `void MD5Update(MD5_CTX*, unsigned char*, unsigned int)':|
main.cpp|94|error: too many arguments to function `void Transform()'|
main.cpp|177|error: at this point in file|
main.cpp||In function `void MD5Final(MD5_CTX*)':|
main.cpp|94|error: too many arguments to function `void Transform()'|
main.cpp|207|error: at this point in file|
main.cpp||In function `void Transform(UINT4*, UINT4*)':|

main.cpp||In function `int main()':|
main.cpp|349|error: invalid conversion from `char*' to `unsigned char*'|
main.cpp|349|error:   initializing argument 2 of `void MD5Update(MD5_CTX*, unsigned char*, unsigned int)'|
main.cpp|94|warning: 'void Transform()' declared `static' but never defined|
main.cpp|224|warning: 'void Transform(UINT4*, UINT4*)' defined but not used|
||=== Build finished: 6 errors, 46 warnings ===|
</code></pre>
<p>gruss</p>
<p>B</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842235</guid><dc:creator><![CDATA[BigL]]></dc:creator><pubDate>Wed, 20 Jan 2010 20:16:01 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstelle ich einen MD5-Hash aus einem String in Code::Blocks (MinGW) (GELÖST) on Wed, 20 Jan 2010 20:17:58 GMT]]></title><description><![CDATA[<p>kein problem, weiter geht's. such die zeilen:</p>
<pre><code>/* forward declaration */
void Transform ();
</code></pre>
<p>und ändere sie in:</p>
<pre><code>/* forward declaration */
void Transform (UINT4 *buf, UINT4 *in);
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842238</guid><dc:creator><![CDATA[;fricky]]></dc:creator><pubDate>Wed, 20 Jan 2010 20:17:58 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstelle ich einen MD5-Hash aus einem String in Code::Blocks (MinGW) (GELÖST) on Wed, 20 Jan 2010 20:29:02 GMT]]></title><description><![CDATA[<p>Du bist n feiner kerl,</p>
<p>danke das du dir so viel mühe gibst.</p>
<p>also ich hab jetzt</p>
<pre><code class="language-cpp">static void Transform ();
</code></pre>
<p>in</p>
<pre><code class="language-cpp">static void Transform (UINT4 *buf, UINT4 *in);
</code></pre>
<p>geändert.</p>
<p>jetzt kommt folgender Fehler: <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<pre><code class="language-cpp">main.cpp||In function `void Transform(UINT4*, UINT4*)':|

main.cpp||In function `int main()':|
main.cpp|349|error: invalid conversion from `char*' to `unsigned char*'|
main.cpp|349|error:   initializing argument 2 of `void MD5Update(MD5_CTX*, unsigned char*, unsigned int)'|
||=== Build finished: 2 errors, 44 warnings ===|
</code></pre>
<p>Fehler verweist auf</p>
<pre><code class="language-cpp">MD5Update (&amp;ctx, in, (unsigned int)strlen(in));
</code></pre>
<p>Gruss</p>
<p>B</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842244</guid><dc:creator><![CDATA[BigL]]></dc:creator><pubDate>Wed, 20 Jan 2010 20:29:02 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstelle ich einen MD5-Hash aus einem String in Code::Blocks (MinGW) (GELÖST) on Wed, 20 Jan 2010 20:32:34 GMT]]></title><description><![CDATA[<p>BigL schrieb:</p>
<blockquote>
<p>Du bist n feiner kerl,</p>
</blockquote>
<p>ja, das bin ich wirklich. *fg*<br />
nun, dann gehen wir mal in die 'main'-funktion und machen aus der zeile:</p>
<pre><code>MD5Update (&amp;ctx, in, (unsigned int)strlen(in));
</code></pre>
<p>das...</p>
<pre><code>MD5Update (&amp;ctx, (unsigned char*)in, (unsigned int)strlen(in));
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842250</guid><dc:creator><![CDATA[;fricky]]></dc:creator><pubDate>Wed, 20 Jan 2010 20:32:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstelle ich einen MD5-Hash aus einem String in Code::Blocks (MinGW) (GELÖST) on Wed, 20 Jan 2010 20:37:34 GMT]]></title><description><![CDATA[<p>ahaa jaaa!</p>
<p>endlich nach einer million versuche!</p>
<p>ES FUNKTIONIERT!</p>
<p>DANKE ;fricky!!!</p>
<p>wieso das aber auch immer so kompliziert sein muss <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
<p>hätte ich mit VC++ da keine probleme gehabt?</p>
<p>gruss</p>
<p>B</p>
<p>PS: an welche org soll ich das geld nun schicken? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842255</guid><dc:creator><![CDATA[BigL]]></dc:creator><pubDate>Wed, 20 Jan 2010 20:37:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstelle ich einen MD5-Hash aus einem String in Code::Blocks (MinGW) (GELÖST) on Wed, 20 Jan 2010 20:44:01 GMT]]></title><description><![CDATA[<p>BigL schrieb:</p>
<blockquote>
<p>hätte ich mit VC++ da keine probleme gehabt?</p>
</blockquote>
<p>doch, auch. das ++ suckt rum, ohne hätte es gleich beim ersten oder zweiten versuch geklappt.</p>
<p>BigL schrieb:</p>
<blockquote>
<p>PS: an welche org soll ich das geld nun schicken?</p>
</blockquote>
<p>irgendwas humanitäres o.ä, amnesty international, kinderhilfswerk, greenpeace oder so, such dir was aus. und wehe dir, die kohle geht bei denen nicht ein. ich rufe da an *fg*<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842259</guid><dc:creator><![CDATA[;fricky]]></dc:creator><pubDate>Wed, 20 Jan 2010 20:44:01 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstelle ich einen MD5-Hash aus einem String in Code::Blocks (MinGW) (GELÖST) on Wed, 20 Jan 2010 21:05:32 GMT]]></title><description><![CDATA[<p>ja danke wirklich.</p>
<p>ich werd das machen, im ernst.</p>
<p>ich sag dir dann bescheid wohin es ging <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
<p>PS: kannst du mir noch schnell sagen wie ich den md5hash in ne variable packen kann?</p>
<p>(prinzipiell wollte ich das ja damit ich md5 hash in meiner applikation vergleichen kann)</p>
<p>gruss</p>
<p>B</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842276</guid><dc:creator><![CDATA[BigL]]></dc:creator><pubDate>Wed, 20 Jan 2010 21:05:32 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstelle ich einen MD5-Hash aus einem String in Code::Blocks (MinGW) (GELÖST) on Wed, 20 Jan 2010 21:10:52 GMT]]></title><description><![CDATA[<p>BigL schrieb:</p>
<blockquote>
<p>PS: kannst du mir noch schnell sagen wie ich den md5hash in ne variable packen kann?</p>
</blockquote>
<p>das ergebnis ist in <em>MD5_CTX.digest[]</em>, 16 unsigned char's (siehste z.b. an der ausgabe in 'main'). kannst es z.b. mit 'memcpy' o,ä. irgendwo hinkopieren. ansonsten arbeite mal ein C-tutorial durch, damit du überhaupt weisst, was du da machst.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842281</guid><dc:creator><![CDATA[;fricky]]></dc:creator><pubDate>Wed, 20 Jan 2010 21:10:52 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstelle ich einen MD5-Hash aus einem String in Code::Blocks (MinGW) (GELÖST) on Wed, 20 Jan 2010 21:21:52 GMT]]></title><description><![CDATA[<p>hehe</p>
<p>ja ich weiss schon was ich da mach</p>
<p>sagen wir so ich kann die sprache besser lesen als schreiben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
<p>sowas hab ich noch nie gemacht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /></p>
<p>danke für die anhaltspunkte.</p>
<p>ich werds sicher rauskriegen.</p>
<p>das kann ja jetzt wohl nichtmehr sooo schwer sein.</p>
<p>danke nochmal vielmals für deine hilfe</p>
<p>gruss</p>
<p>B</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842283</guid><dc:creator><![CDATA[BigL]]></dc:creator><pubDate>Wed, 20 Jan 2010 21:21:52 GMT</pubDate></item></channel></rss>