Есть ли простой способ использовать библиотеки для хэширования массивов данных? - PullRequest
1 голос
/ 22 августа 2010

Я подумываю об использовании CRC-32 или SHA-1 , возможно, как в программе на C, которую я разрабатываю для Linux (Ubuntu).

Есть лилюбой простой способ использовать библиотеки для обоих?Вырезать и вставить алгоритм CRC-32 в исходный код моей программы кажется достаточно простым, но делать то же самое для SHA-1 кажется немного шатким.Есть ли какой-нибудь простой способ использовать библиотеки, желательно в Ubuntu, но не обязательно?

Я использую C, но C ++ был бы в порядке, если бы мне пришлось.

Ответы [ 3 ]

2 голосов
/ 23 августа 2010

Интерфейс OpenSSL довольно прост:

#include <openssl/sha.h>

unsigned char *SHA1(const unsigned char *d, unsigned long n, unsigned char *md);

d - это указатель на хешируемый ввод длиной n.md - указатель на SHA_DIGEST_LENGTH байтов, в котором будет храниться хеш SHA1.

1 голос
/ 22 августа 2010

Рассмотрите возможность использования LibTomCrypt , который является чистым C. Вам, конечно, придется скачать, скомпилировать и установить это.Вы, вероятно, обнаружите, что библиотеки OpenSSL уже установлены, но интерфейс к ним более сложный (более гибкий, но вам, вероятно, гибкость не нужна).Наверно, я думаю, что они тоже чистые С.

1 голос
/ 22 августа 2010

У вас есть много бесплатных библиотек для SHA. Например, это здорово: http://www.cryptopp.com/ (C ++)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...