下面的代码创建一个已创建文件的哈希,但是我想知道应该在哪里开始将其转换为一个程序,该程序将扫描文件夹中的文件并自动对其进行哈希处理?我们将不胜感激提示,提示和指示,以了解如何实现此目的!
#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。
谢谢。