Jak obliczyć skrót MD5 dużego pliku w C?
Piszę w C za pomocą biblioteki OpenSSL.
Jak mogę obliczyć hash dużego pliku przy użyciu md5?
Jak wiem, muszę załadować cały plik do RAM jako tablicę znaków, a następnie wywołać funkcję skrótu. Ale co, jeśli plik ma długość około 4 GB? Brzmi jak zły pomysł.
ROZWIĄZANY: Dziękiaskovpen, Znalazłem mój błąd. Użyłem
<code>while ((bytes = fread (data, 1, 1024, inFile)) != 0) MD5_Update (&mdContext, data, 1024); </code>
nie
<code>while ((bytes = fread (data, 1, 1024, inFile)) != 0) MD5_Update (&mdContext, data, bytes); </code>