jc01rho의 일상잡다
CPP에서 MD5 암호화 하기 본문
http://btd86.tistory.com/6 에서 인용합니다.
1. 소스
// MD5Test.cpp #ifdef HAVE_CONFIG_H #include#endif #include "md5.h" #include #include #include 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에 있는 패스워드와 대조하면 됩니다.
'컴퓨터 > C & C++' 카테고리의 다른 글
STL Iterator erase시 "vector iterators incompatible" (0) | 2011.07.19 |
---|---|
LINK : warning LNK4098 : defaultlib "~~.lib" conflicts with use of other libs; use /NODEFAULTLIB:library (0) | 2011.05.31 |
#pragma comment(lib," .lib") (0) | 2011.05.31 |
[ Error LNK2019 ] Link Error 발생시 확인해볼 것들 (0) | 2011.05.23 |
oauth+openssl+curl 삼종 세트 VC에서 빌드(build)하기 (재배포팩 필요없이) (1) | 2011.05.14 |
Comments