(Это дополнительный вопрос к Заполнению сообщения в SHA256.)
(Я пытаюсь реализовать хеш-функцию SHA-256 на C ++. Я делаю это исключительно для развлечения и обучения.)
У меня есть строка message
с длиной message_length
. Я добавил к строке бит 1
, за которым следует 0
s, так что теперь длина строки составляет 448 бит по модулю 512 бит.
Теперь мне нужно добавить строку с message_length
как 64-битное целое число с прямым порядком байтов к строке, но я не могу понять, как это сделать на C ++.
В качестве аргумента допустим, что message_length
составляет 3 байта = 24 бита. 24 в шестнадцатеричном формате - это 18
, поэтому мне нужно было бы добавить 00 00 00 00 00 00 00 18
к строке.
Итак, мне нужна функция, которая преобразует целое число 3 в строку 00 00 00 00 00 00 00 18
, чтобы я мог добавить это.
Мой вопрос сводится к
Как преобразовать 64-битное целое число в байтовый массив с прямым порядком байтов в C ++