Этот код ниже создает хеш файла, который создается, однако мне было интересно, где я должен начать преобразовывать его в программу, которая будет сканировать папку на наличие файлов и автоматически их хэшировать?Советы, подсказки и указатели на то, где искать, чтобы понять, как это сделать, будут высоко оценены!
#include <stdio.h>
#include <openssl/sha.h>
int main()
{
unsigned char c[SHA512_DIGEST_LENGTH];
char *filename="sha512.c";
int i;
FILE *inFile = fopen (filename, "rb");
SHA512_CTX mdContext;
int bytes;
unsigned char data[1024];
SHA512_Init (&mdContext);
while ((bytes = fread (data, 1, 1024, inFile)) != 0)
SHA512_Update (&mdContext, data, bytes);
SHA512_Final (c,&mdContext);
for(i = 0; i < SHA512_DIGEST_LENGTH; i++) printf("%02x", c[i]);
printf (" %s\n", filename);
fclose (inFile);
return 0;
}
Понятно, что необходим цикл, однако я не уверен, как рассчитать каждый файл только один раз (в отличие от непрерывного вычисления файлов, которые уже были хэшированы).Этот код использует openssl.
Заранее спасибо.