2013-01-09 3 views
0

저는 OpenSSL을 다른 용도로 사용하기 위해 Visual Studio에서 OpenSSL을 사용하고 있습니다. OpenSSL SHA1 체크섬

난 그냥 버퍼에 바이너리 파일을 읽고

EVP_DigestUpdate(hCtx, fin_buf, fin_size); 
int rez=EVP_DigestFinal(hCtx, pTmpBuffer, &nDigestSz); 
pDigest = new unsigned char[ nDigestSz ]; 
memcpy(pDigest, pTmpBuffer, nDigestSz * sizeof(unsigned char)); 

fin_buf 파일의 바이트를 보유하고 그것에 SHA1을 적용했다.

FILE *fhash = fopen("hash.sha1", "wb"); 
fwrite(pDigest, 1, nDigestSz, fhash); 
fclose(fhash); 

여기에 .sha1 파일에 버퍼를 씁니다.

파일의 해시를 확인해야합니다. 누구나 OpenSSL C++에서 해시를 검사하는 예를 보여줄 수 있습니까?

답변

0

해시의 주요 개념은 동일한 입력을 통해 계산할 때 동일한 해시 값을 얻게된다는 것입니다. 원본 파일을 읽고 첫 번째 코드 부분을 실행하면 다이제스트의 값은 .sha1 파일의 내용과 같아야합니다.

+0

나는 그것이 유일한 방법이라고 생각했다. 이것은 나의 대학을위한 프로젝트이며 가능한 한 많은 OpenSSL을 사용해야한다. 미리 정의 된 기능이 있다고 가정하고 있었다. 당신의 의견을 들려 주셔서 감사합니다! –

+0

openssl이 파일 위에 도우미 함수 sha1을 가지고있을 수도 있습니다. 그게 무슨 뜻입니까? 그것은 매뉴얼에 언급되어야합니다. – dmaij