admin管理员组

文章数量:1551410

// CHash.cpp : implementation file

//

#include "stdafx.h"

#include "CHash.h"

#include

CString CHash::SHA1Hash(CString strHashFile)

{

USES_CONVERSION;

FILE *fileToHash = NULL;

unsigned long lenRead = 0;

unsigned char fileBuf[SIZE_OF_BUFFER];

sha1_ctx m_sha1;

unsigned char* tempOut = new unsigned char[256];

CString    tempHash;

CString outHash;

sha1_begin(&m_sha1);

fileToHash = fopen(T2A(strHashFile), "rb");

do

{

lenRead = fread(fileBuf, 1, SIZE_OF_BUFFER, fileToHash);

if(lenRead != 0)

{

sha1_hash(fileBuf, lenRead, &m_sha1);

}

} while (lenRead == SIZE_OF_BUFFER);

fclose(fileToHash); fileToHash = NULL;

sha1_end(tempOut, &m_sha1);

for (int i = 0 ; i < 20 ; i++)

{

char tmp[3];

_itoa(tempOut[i], tmp, 16);

if (strlen(tmp) == 1)

{

tmp[1] = tmp[0];

tmp[0] = '0';

tmp[2] = '\0';

}

tempHash += tmp;

}

delete[] tempOut;

outHash = tempHash;

return outHash;

}

本文标签: 文件磁力种子语言链接