Programming/C Win32 MFC2017. 3. 3. 11:50

대부분이 오픈 라이브러리 사용하네..

순수하게 mfc 내부적으로 하는건 영 안보이는 듯..


[링크 : https://msdn.microsoft.com/en-us/library/windows/desktop/aa379908(v=vs.85).aspx] CryptCreateHash 


파일내용을 md5로 만들기

[링크 : https://msdn.microsoft.com/en-us/library/windows/desktop/aa382380(v=vs.85).aspx]

[링크 : http://wwwi.tistory.com/90]





+

Cstring의 유니코드, ascii 변환


CStringA (아스키)

CString (유니코드)

[링크 : http://stackoverflow.com/questions/859304/convert-cstring-to-const-char]



대충 수정해서 만든 코드. 예외처리는 전부 빼버렸음

#include <Wincrypt.h>


CString md5gen(CString input)

{

BYTE rgbHash[16];

BYTE *data;

int data_len;

DWORD cbHash;

CString ret;

CStringA str;


HCRYPTPROV hCryptProv;

HCRYPTHASH hHash;


str = input;

data = (BYTE *)str.GetString();

data_len = str.GetLength();


CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, 0);

CryptCreateHash(hCryptProv, CALG_MD5, 0, 0, &hHash);

CryptHashData(hHash,(const BYTE *)data,data_len,0);

CryptGetHashParam(hHash, HP_HASHVAL, rgbHash, &cbHash, 0);

for (DWORD i = 0; i < cbHash; i++)

ret.AppendFormat(_T("%02x"), rgbHash[i]);


CryptDestroyHash(hHash);

CryptReleaseContext(hCryptProv,0);


return ret;


'Programming > C Win32 MFC' 카테고리의 다른 글

GetHttpConnection()  (0) 2017.03.03
만능의 tokenizer?!  (0) 2017.03.03
ms c++ 관련 신규 문법(?)  (0) 2017.03.03
MFC HTTP POST + 인증  (0) 2017.03.02
MFC HTTP GET/POST  (0) 2017.03.02
Posted by 구차니