Есть ли простая функция C или С++, которая вычисляет хэш-строку sha1 строки?
Возможный дубликат:
Функция sha1 в cpp (С++) Привет,
Я просто искал функцию, которая вычисляет хэш строки sha1 и возвращает результат.
Ответы
Ответ 1
Не встроен. Попробуйте открыть криптографическую библиотеку openssl.
(https://www.openssl.org/source/)
(https://github.com/openssl/openssl/blob/master/include/openssl/sha.h)
(https://www.openssl.org/docs/man1.1.0/crypto/SHA1.html)
#include <openssl/sha.h>
int main()
{
const unsigned char str[] = "Original String";
unsigned char hash[SHA_DIGEST_LENGTH]; // == 20
SHA1(str, sizeof(str) - 1, hash);
// do some stuff with the hash
return 0;
}
Ссылка на -lssl
, что будет означать -lcrypto
. Если вы связываете статически, вам может понадобиться связать оба.
Ответ 2
CryptoPP - отличная библиотека С++ для криптографических функций. Он имеет метод вычисления SHA1-дайджеста. См. Примеры хеширующих функций здесь.
Ответ 3
Вот пример: http://www.codeproject.com/KB/recipes/csha1.aspx#csha1is
Кроме того, этот вопрос уже рассматривался в этом потоке. У них есть ссылка для дальнейшей помощи. Проверьте это.
Ответ 4
libgcrypt
Ответ 5
Отметьте этот пост на форумах Ubuntu. Они предлагают посмотреть libcrypt
.
Также есть реализация здесь, но я не уверен, что это за лицензия.
Ответ 6
Вам нужно использовать библиотеку. Boost имеет эту функцию.
Ответ 7
Простой google поиск будет yield много примеры.