[C/C#/C++] MD5 Hash Generator

Dieses Thema im Forum "Projekte / Codes" wurde erstellt von Fallen Angel, 6. November 2006 .

Schlagworte:
  1. 6. November 2006
    MD5 Hash Generator

    Das Programm:

    Code:
    /* Name: MD5Sum 
     * Author: Fallen Angel 
     * Usage: md5sum(.exe) [File,...]
     * Description: Generates the MD5 Hash of the File(s)
     * OS: Windows, Unix/Linux
     */
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <windows.h>
    #include "md5.h"
    
    static void print_sig(const unsigned char *sig);
    static void read_file(const char *filename);
    static void print_intr(void);
    
    int main(int argc, char *argv[])
    {
     if(argc < 2 || strcmp(argv[1], "-h") == 0 || strcmp(argv[1],"--help") == 0)
     {
     printf("usage: %s [File,...]",argv[0]);
     exit(EXIT_FAILURE); 
     }
    
     print_intr(); 
     while(*++argv)
     {
     read_file(*argv); 
     }
     
     printf("\t[+] Hash successfully Generated\n");
     return EXIT_SUCCESS; 
    }
    
    static void read_file(const char *filename) 
    {
     unsigned char sig[MD5_SIZE];
     char buffer[4096];
     md5_t md5;
     int ret;
     FILE *stream;
     
     if (strcmp(filename, "-") == 0) {
     stream = stdin;
     }
     else {
     stream = fopen(filename, "r");
     if (stream == NULL) {
     perror(filename);
     exit(1);
     }
     }
     
     md5_init(&md5);
     
     while (1) {
     
     ret = fread(buffer, sizeof(char), sizeof(buffer), stream);
     if (ret <= 0)
     break;
     
     md5_process(&md5, buffer, ret);
     }
     
     md5_finish(&md5, sig); 
     
     if (stream != stdin) {
     (void)fclose(stream);
     }
     
     (void)printf("\t|MD5-Hash");
     printf("(%s): '",filename);
     print_sig(sig);
     (void)printf("'\n");
    }
    
    static void print_sig(const unsigned char *sig)
    {
     const unsigned char *sig_p;
     
     for (sig_p = sig; sig_p < sig + MD5_SIZE; sig_p++) {
     (void)printf("%02x", *sig_p);
     }
    }
    
    static void print_intr(void)
    {
     printf("\t---- Little MD5 Hash Creator ----\n");
     printf("\n\t[!] Generating Hash\n");
     Sleep(155); 
    }
    Die md5.h und md5.c sind im RAR Archiv mit enthalten

    Archiv: Archiv (6 KB)
    Windows x86 Binary: (Von mir entfernt) (15 KB)

    EDIT: Fuer diejenigen die die Datei ausgefuehrt haben: Scannen !
    An die anderen: Ich hatte Viren auf meinem PC, leider musste ich feststellen das AntiVir ein beschissenes Viren Programm ist und habe die Viren groestenteils bekaempft.

    Falls wem noch was einfaellt, was man hinzufuegen/verbessern koennte der soll sich melde

    Mit freundlichen Gruessen,
    Fallen Angel.
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.