MD5

md5 알고리즘에 대해서 자세히 알아 보진 않는다.
md5 소스가 인터넷에 있기 때문에 소스를 이용하여 파일 비교를 해보겠다.

#include <stdio.h>

#include <iostream>

#include "md5util.h"

 

void main()

{

    unsigned char md1[16], md2[16];

    GenerateMd5( "main.cpp", md1);

    PrintMd5(md1);

    printf("\n");

    GenerateMd5( "md5util.cpp", md2);

    PrintMd5(md2);

 

    if(IsSameMd5(md1, md2) == false)

        printf("\nmd1 and md2 are different\n");

    system("pause");

}

GenerateMd5 : 파일을 입력해서 16개의 md5 키를 생성한다.
PrintMd5 : 16개의 md5 키를 출력한다.
IsSameMd5 : 두 개의 md5 키가 동일한지 체크한다.

md5키가 동일하면 파일은 일치 한다.
md5키가 다르면 파일은 일치 하지 않는다.

bool GenerateMd5(char* filename, unsigned char md5SumDevice[16]);

void PrintMd5(unsigned char md5SumDevice[16]);

bool IsSameMd5(unsigned char md5Sum1[16], unsigned char md5Sum2[16]);

프로젝트 파일: md5Test.zip

소스 참조:
http://www.coocox.org/driver_repo/d8326b8e-a02d-4a48-8c09-fa2264e8873b/lib/MD5_Driver/md5.c.htm