Сперва давай познакомимся с машинным представлением числа:
Little Endian,
Big Endian,
PDP Endian. Машинное представление имеет прямое отношение к целевой платформе, на которой будет работать код.
Далее давай поймем, что такое
битовый поток. Особенностью битового потока является то, что в нем один за другим следуют биты, а не байты или слова. И порядок бит нарушать нельзя, особенно нельзя его нарушать через непонимание машинного представления числа. Битовый поток должен восприниматься одинаково при любом машинном представлении числа.
После этого тебе все должно стать понятно без объяснений. Но если не понятно, то вот объяснения.
SHA-1 является битовым потоком, организованным в блоки по 512 бит. Дальше по википедии: Последний блок дополняется до длины, кратной 512 бит. Сначала добавляется 1 (бит), а потом — нули, чтобы длина блока стала равной 512 — 64 = 448 бит.
После основной нагрузки блока пишется ровно один поднятый бит, а дальше блок забивается нулями до конца. Этот самый единичный поднятый бит, чтобы он был первым после нагрузки в битовом потоке, имеет представление
0x80
.