CPP에서 MD5 암호화 하기CPP에서 MD5 암호화 하기

Posted at 2009.08.19 00:54 | Posted in About Programing/03. Tip
이 소스는 http://bbangwon.tistory.com/16 에서 제공된것을 일부 수정한것임을 명시합니다.
소스제공 : 빵원군


1. 소스

// MD5Test.cpp

#ifdef HAVE_CONFIG_H 
#include <config.h> 
#endif 


#include "md5.h" 
#include <iostream> 
#include <cstdlib> 
#include <string> 


using namespace std; 


string md5(const string strMd5) 
{    
	md5_state_t state;    
	md5_byte_t digest[16];    
	char hex_output[16*2 + 1];    
	int di;	
    
	md5_init(&state);    
	md5_append(&state, (const md5_byte_t *)strMd5.c_str(), strMd5.length());    
	md5_finish(&state, digest);	
    
	for (di = 0; di < 16; ++di)
	{        
		sprintf(hex_output + di * 2, "%02x", digest[di]);
	}	
    
	return hex_output;
} 


int main(int argc, char *argv[]) 
{    
	cout << md5("1234") << endl;
    
	return EXIT_SUCCESS; 
}


2. 결과



3. 용도
 제로보드 사용시에, 회원 패스워드가 암호화 되어서 DB에 저장됩니다.
 만약, 제로보드 자체 로그인이 아닌, 작성한 프로그램에서 로그인 기능을 만들고 싶다면, DB에서 회원 ID를 불러와 대조하는건 가능한데, 패스워드를 어떻게 대조해야 될지 막막하실겁니다.

 이때, 제로보드에서 패스워드를 암호화 하는방식인 MD5를 사용하여, 사용자로 부터 입력받은 패스워드를 암호화 하여, DB에 있는 패스워드와 대조하면 됩니다.
저작자 표시 비영리 변경 금지
신고
  1. 오오
    md5해시함수로군여

    네트워크에서 인증용으로 쓰는줄알았는데

    프로그램에서도 쓰네요 으헉
    • 2009.10.10 14:42 신고 [Edit/Del]
      네, 쓰입니다^-^
      근데 어차피 회원가입을 했을때
      암호를 저장하기 위하여 사용한것이기때문에
      님이 말씀하신 네트워크랑도 어느정도 비슷하네요^-^ㅋ

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

티스토리 툴바