2011-04-12 6 views
5

He estado trabajando en implementaciones de criptografía en C. estoy obligado a utilizar hash de un mensaje utilizando cualquiera de las funciones hash SHA populares como, MD5, etc.¿Cuáles son algunas de las bibliotecas de cifrado/hash más utilizadas en C?

En Java, hay una biblioteca de seguridad que se ocupa de estas cosas.
Pero, ¿cómo hago lo mismo en C?

por ejemplo: char * str = "this is an message"; char * hash = SHA (str);

Algo de este tipo. Sería de gran ayuda si alguien puede dirigirme a alguna biblioteca que ya ha implementado estas funciones que puedo llamar para mi programa.

Gracias!

+3

¿Por qué no revisar primero en google? – Andrey

+0

¿Se debe hacer en 'C' y no' C++ '? –

+0

¿Las búsquedas lo han llevado a bibliotecas relevantes que podrían usarse como ejemplos y/o para indicar investigaciones previas? –

Respuesta

8

sphlib es una biblioteca de código abierto que proporciona implementaciones optimizadas (pero portátiles) en C de muchas funciones hash.

OpenSSL es una biblioteca criptográfica más genérica, que se implementa ampliamente y proporciona implementaciones de funciones hash, también (menos funciones hash que sphlib, pero también incluye otras primitivas criptográficas).

3

OpenSSL está ampliamente disponible. Para su ejemplo, puede usar

unsigned char digest[SHA_DIGEST_LENGTH]; 
char *str = "this is a string"; 
SHA1(str, strlen(str), digest); 
Cuestiones relacionadas