Как рассчитать 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>