키워드 [Programming][VC++][MD5]
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNo=20&no=6446&ref=6446

많이 사용되는 MD5 기법을 MFC에서 사용하기 간단한 클래스로 구현한 자료를 올립니다..
편하게 사용하세요.. 라이센스?? 던주면 감사히 받구요..
 
MD5가 머냐고 의문이 생기시는 분은 관련분야에 종사하시면 레퍼런스를 참고하시구요, 관련 분야가 아니시면, 걍 암호화의 한 부분이라고 생각하시면 됩니다.... 복잡하게 생각하면 머리 터져요 ^^;
 
간단히 헤더만 정리해 보면...
 
// MD5.h: interface for the CMD5 class.
//
//////////////////////////////////////////////////////////////////////
 
#if !defined(AFX_MD5_H__1E84B7F9_E0C0_4075_9CB1_3366A8363F48__INCLUDED_)
#define AFX_MD5_H__1E84B7F9_E0C0_4075_9CB1_3366A8363F48__INCLUDED_
 
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
 
class CMD5 
{
    typedef struct
    {
        UINT state[4];                                   /* state (ABCD) */
        UINT count[2];        /* number of bits, modulo 2^64 (lsb first) */
        BYTE buffer[64];                         /* input buffer */
    } MD5_CTX;
 
public:
    CMD5();
    virtual ~CMD5();
    CString GetString(CString str);
 
protected:
    void MD5Init(MD5_CTX* ctx);
    void MD5Update(MD5_CTX* ctx, BYTE* input, UINT inputlen);
    void MD5Final(BYTE* digest, MD5_CTX* ctx);
};
 
#endif // !defined(AFX_MD5_H__1E84B7F9_E0C0_4075_9CB1_3366A8363F48__INCLUDED_)

코드를 보시면 알겠지만.. 걍 선언해놓구.. GetString() 함수만 호출하는 간한단 구조로 되어 있습니다..
샘플 코드

CMD5 md5;
TRACE("%s\n", md5.GetString("dfsafafadffsdfsfsf"));

Output : 9632F1DC3D8E35BFF71D1D86E3E1EB9D

그럼 즐프 하세요..

+ Recent posts