Хэш Значение Повторяется

Тема в разделе "Свободное общение", создана пользователем sasha465, 10 фев 2012.

  1. sasha465

    sasha465 Well-Known Member

    Регистрация:
    29 мар 2009
    Сообщения:
    69
    Симпатии:
    0
    Если кто-нибудь работал с CryptGetHashParam из CryptoAPI может мне объяснить почему вычисленные хэш-значения одного и того же текстового файла каждый раз разные...
    Код (C++):
     void Test_Hash(HWND hwnd){
    DWORD dwHashLen;
    DWORD dwCount;
    BYTE *pbHash = NULL;
    DWORD wasRead=0;
    DWORD dwFileSize=0;
    LPCTSTR dataToSignF=TEXT("C:\\text.txt");
    hFile1 = CreateFile(dataToSignF, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
    dwFileSize = GetFileSize (hFile1, NULL);
    TCHAR* szBuf2 = static_cast<TCHAR*>(malloc(dwFileSize + 1));
    ZeroMemory(szBuf2, dwFileSize + 1);
    wasRead=0;
    ReadFile(hFile1, szBuf2, dwFileSize, &wasRead, NULL);
    CloseHandle(hFile1);
    CryptHashData(hHash, (BYTE*)szBuf2, dwFileSize, 0);
    DWORD count=0;
    dwCount = sizeof(DWORD);
    CryptGetHashParam(hHash, HP_HASHSIZE, (BYTE *)&dwHashLen,&dwCount, 0);
    pbHash =(BYTE*) malloc(dwHashLen);
    CryptGetHashParam(hHash, HP_HASHVAL, pbHash, &dwHashLen, 0);
    char txt[512];
    txt[0]=0;
    sprintf(txt,"%x",pbHash);
    if(hash_vector[0]!=pbHash){
    MessageBox(hwnd,txt,_T("hel"), MB_OK|MB_ICONERROR);
    }
    free(szBuf2);

    }
     
Загрузка...
Похожие Темы - Хэш Значение Повторяется
  1. lmike
    Ответов:
    5
    Просмотров:
    551
  2. HelenHelen
    Ответов:
    1
    Просмотров:
    1.560
  3. VladSh
    Ответов:
    27
    Просмотров:
    8.768
  4. Cheburan
    Ответов:
    9
    Просмотров:
    625
  5. Луиза
    Ответов:
    3
    Просмотров:
    374

Поделиться этой страницей