我在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保存文件的字节。
FILE *fhash = fopen("hash.sha1", "wb");
fwrite(pDigest, 1, nDigestSz, fhash);
fclose(fhash);
这里我将缓冲区写入.sha1文件。
我需要检查文件的哈希值。 有人能告诉我一个在OpenSSL C ++中检查哈希的例子吗?
答案 0 :(得分:0)
散列的主要思想是,当您通过相同的输入计算它时,您将获得相同的散列值。如果您阅读原始文件并执行第一个代码部分,摘要的值应该等于.sha1文件的内容。