Как рассчитать MD5 хэш большого файла в C?

Я пишу на C, используя библиотеку OpenSSL.

Как я могу вычислить хэш большого файла, используя md5?

Как я знаю, мне нужно загрузить весь файл в RAM как массив символов, а затем вызвать хэш-функцию. Но что, если файл имеет длину около 4 Гб? Похоже, плохая идея.

SOLVED: БлагодаряaskovpenЯ нашел свою ошибку. Я использовал

<code>while ((bytes = fread (data, 1, 1024, inFile)) != 0)
    MD5_Update (&mdContext, data, 1024);
</code>

не

<code>while ((bytes = fread (data, 1, 1024, inFile)) != 0)
    MD5_Update (&mdContext, data, bytes);
</code>

Ответы на вопрос(4)

Ваш ответ на вопрос