대부분이 오픈 라이브러리 사용하네..
순수하게 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 |