Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » MD5 Hash von String berechnen - Verständnis-Probleme

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
11.10.2007, 21:57 Uhr
2603honk



hi
Vielleicht kann mir jemand helfen.
Ich wollte zum Spaß ein Programm machen mit einem geschützten Bereich.
Das Passwort soll als MD5-Hash abgespeichert werden.

Aber wie den MD5 Hash eines Strings berechnen ?

Ich hab mal Google angeschmissen und diesen code gefunden: http://xyssl.org/code/source/md5/

Kann den vielleicht jemand etwas kommentieren, was gemacht wird ?
Ich will den Code wenigstens so weit verstehen um eine Klasse zu basteln.

Danke im Vorraus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
12.10.2007, 08:30 Uhr
mike
Pinguinhüpfer
(Operator)


Vl. hilft dir das weiter:
www.ben-newman.de/com/MD5.php

mfg
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
12.10.2007, 14:46 Uhr
0xdeadbeef
Gott
(Operator)


Ich würd mir das um ne bestehende Bibliothek herumbauen. gcrypt zum Beispiel hat schon ein recht objektorientiertes Design, nur halt in C - zum Beispiel

C++:
#include <gcrypt.h>

#include <stddef.h>
#include <stdio.h>

int main(int argc, char *argv[]) {
  FILE *in;
  char inbuf[BUFSIZ];
  unsigned char *hptr;
  size_t i, chars_read;
  gcry_md_hd_t hash;

  if(argc != 2)
    return -1;

  in = fopen(argv[1], "r");

  if(in == NULL)
    return -1;

  gcry_check_version(NULL);

  gcry_md_open(&hash, GCRY_MD_MD5, 0);

  while((chars_read = fread(inbuf, sizeof(char), BUFSIZ, in)) > 0) {
    gcry_md_write(hash, inbuf, chars_read);
  }

  hptr = gcry_md_read(hash, GCRY_MD_MD5);

  for(i = 0; i < gcry_md_get_algo_dlen(GCRY_MD_MD5); ++i) {
    printf("%02x", hptr[i]);
  }
  putchar('\n');

  gcry_md_close(hash);
  fclose(in);

  return 0;
}


...sollte recht einfach sein, da ne Klasse drumherum zu schustern.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: