Я пишу в C, используя библиотеку OpenSSL.
Как рассчитать хэш большого файла с помощью md5?
Как я знаю, мне нужно загрузить весь файл в ОЗУ как массив char, а затем вызвать хеш-функцию. Но что, если файл имеет длину около 4 ГБ? Похоже на плохую идею.
SOLVED. Благодаря askovpen я нашел свою ошибку. Я использовал
while ((bytes = fread (data, 1, 1024, inFile)) != 0)
MD5_Update (&mdContext, data, 1024);
не
while ((bytes = fread (data, 1, 1024, inFile)) != 0)
MD5_Update (&mdContext, data, bytes);