Вход в SHA-1 содержит длину сообщения и некоторые отступы.
От Википедия :
Pre-processing:
append the bit '1' to the message
append 0 ≤ k < 512 bits '0', so that the resulting message length (in bits)
is congruent to 448 ≡ −64 (mod 512)
append length of message (before pre-processing), in bits, as 64-bit big-endian integer
Это означает, что вы не можете просто продолжить дайджест SHA-1, поскольку он уже содержит в себе размер данных и заполнение для блока, для которого он был рассчитан.
Внутреннее состояние SHA-1 составляет 160 бит, без них вы не сможете рассчитать новый дайджест SHA-1 для более длинного блока. Вот почему у функций OpenSSL есть «последний» вызов - его нужно вызывать один раз в конце. До тех пор вы должны каким-то образом сохранять внутреннее состояние (с контекстом SHA-1 или другими способами).