что такое использование параметров в деталях функции SHA1 () на языке c

0

Например, я видел такой файл:

char data[] = "Hello, world!";

size_t length = sizeof(data);

unsigned char hash[SHA_DIGEST_LENGTH];

SHA1(data, length, hash);

Затем я нашел экземпляр почти такой же. Однако разница составляет SHA1(data, length - 1, hash); Итак, я немного смущен. Должен ли я использовать "sizeof(data)" или "sizeof(data)-1"? Заранее спасибо.

  • 0
    @bot, спасибо за вашу доброту, дело в том, что я хочу хэшировать более одной строки, например "hello, world", а затем объединить хешированные строки в более длинную строку, а затем преобразовать более длинную строку в какой-то определенный тип элемента. когда я это делал, я использовал некоторые функции с такими же параметрами, как «длина» и буфер, например snprintf () и т. д., поэтому я обнаружил, что мне нужно понять значение любых параметров, поэтому мой вопрос может быть немного идиотским ... так или иначе. Спасибо за вашу помощь.
Теги:
cryptography
sha1

1 ответ

2

Это зависит от фактической полезной нагрузки, которую вы хотите использовать.

  • sizeof data включает нулевой терминатор.
  • sizeof(data) -1 или strlen(data) исключают нуль.
  • 0
    @bot, спасибо за вашу доброту, дело в том, что я хочу хэшировать более одной строки, например "hello, world", а затем объединить хешированные строки в более длинную строку, а затем преобразовать более длинную строку в какой-то определенный тип элемента. когда я это делал, я использовал некоторые функции с такими же параметрами, как «длина» и буфер, например snprintf () и т. д., поэтому я обнаружил, что мне нужно понять значение любых параметров, поэтому мой вопрос может быть немного идиотским ... так или иначе. Спасибо за вашу помощь.
  • 0
    Функция SHA1 принимает длину байта, ей все равно, c-строка или нет. Таким образом, параметр действительно означает, сколько байтов нужно хэшировать. Обратите внимание, что sizeof (data) в вашем примере дает 14, тогда как есть 13 видимых символов.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню