Каковы некоторые широко используемые библиотеки криптографии / хэширования в C? - PullRequest
6 голосов
/ 12 апреля 2011

Я работал над реализацией криптографии на C. Мне необходимо использовать хеш-сообщение, используя любую из популярных хеш-функций, таких как SHA, MD5 и т. Д.

В Java есть защитабиблиотека, которая заботится об этих вещах.
Но как мне сделать то же самое в C?

, например: char * str = "это сообщение";char * hash = SHA (str);

Что-то в этом роде.Было бы очень полезно, если бы кто-то мог указать мне на какую-то библиотеку, которая уже реализовала эти функции, которые я могу вызвать для моей программы.

Спасибо!

Ответы [ 2 ]

10 голосов
/ 12 апреля 2011

sphlib - это библиотека с открытым исходным кодом, которая предоставляет оптимизированные (но переносимые) реализации в C многих хеш-функций.

OpenSSL - это более универсальная криптографическая библиотека, котораяшироко развернут и предоставляет реализации хеш-функций (меньше хеш-функций, чем sphlib, но он также включает в себя другие криптографические примитивы).

4 голосов
/ 12 апреля 2011

OpenSSL действительно широко доступен.Для вашего примера вы можете использовать

unsigned char digest[SHA_DIGEST_LENGTH]; 
char *str = "this is a string";
SHA1(str, strlen(str), digest);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...