Вы должны взглянуть на документацию . Можно использовать эту функцию:
#include <openssl/md5.h>
unsigned char *MD5(const unsigned char *d,
unsigned long n,
unsigned char *md);
На что они заявляют:
MD2 (), MD4 () и MD5 () вычисляют дайджест сообщения MD2, MD4 и MD5 байтов n
в d
и помещают его в md
(в котором должно быть место для MD2_DIGEST_LENGTH = = MD4_DIGEST_LENGTH == MD5_DIGEST_LENGTH == 16 байт вывода). Если md
равно NULL, дайджест помещается в статический массив.
Что касается AES, если вы также хотите использовать OpenSSL, взгляните на EVP doc и в этом примере о том, как его использовать. Просто отметьте, что вы должны добавить
#define AES_BLOCK_SIZE 16
В верхней части файла, чтобы он работал, хотя.
Btw. Я действительно могу порекомендовать библиотеку Crypto ++ , поскольку она великолепна и имеет все виды криптографических примитивов; AES, эллиптические кривые, MAC, криптография с открытым ключом и так далее.