Я работаю над проектом, и у меня есть некоторые проблемы. Я искал, но не могу найти никакого удовлетворенного ответа.
У меня есть огромный файл, состоящий из 0 и 1 с.
я получаю 1024 (мой кусок) бит в кусок массива, и после этого я применяю функцию SHA1 (), которая реализована в библиотеке openssl / sha.h.
чанк [1024];
в то время как ((fgets (фрагмент, 1024, FP))! = NULL)
Мое намерение состоит в том, чтобы мой файл мог состоять из одинаковых кусков, и я хочу посчитать, сколько кусков одинаковы.
После того как я получу 1024 бита в моем массиве, я применяю:
без знака char obuf [20];
SHA1 (кусок, strlen (кусок), obuf);
функция, чтобы получить результат хеш-функции.
вот как работает функция SHA1
unsigned char * SHA1 (const unsigned char * d, unsigned long n, unsigned char * md);
после этого я хочу сохранить свой результат хеш-функции в массиве. После того, как я прочитаю весь свой файл, я буду использовать этот массив для сравнения, есть ли такие же результаты хеширования или нет, таким образом я могу начать свой проект Но я застрял в этой точке. я не могу поместить результат obuf в массив.
я попробовал:
memcopy ()
strcopy ()
или просто myarray [N] [20] = обуф; и т.д.
если вы предложите какой-нибудь способ, я буду счастлив, спасибо.
так что самая большая проблема в том, что найти сколько хешей уникально?