Благодаря использованию алгоритма sha 512 в openssl, я в настоящее время могу вычислить хэш файла 2 Гб в диапазоне от 3 до 3,3 секунд (мой процессор i7-5820k) - включая время, необходимое для открытия, записи ви закройте файлы (откройте хэш ввода и записи в текстовый файл).
Я задался вопросом, существуют ли какие-либо известные методы для ускорения этого процесса, или же мой жесткий диск полностью неисправен, создавая узкое место (Seagate BarraCuda Green, 2 ТБ, 5900 об / мин, SATA, 6 Гбит / с, 64 МБ, кэш-память).
FILE *ftest=fopen(hashInBuf, "rb");
FILE *ftest2=fopen(hashOutBuf, "wt");
//HASH FUNCTION
SHA512_Init (&mdContext);
while ((bytes = fread (data, 1, 1024, ftest)) != 0)
SHA512_Update (&mdContext, data, bytes);
SHA512_Final (c,&mdContext);
for(i = 0; i < SHA512_DIGEST_LENGTH; i++){
fprintf(ftest2, "%02x", c[i]);
printf("%02x", c[i]);
(код, который я сейчас использую для вычисления ша 512)