Я пытаюсь написать программу на C, которая доказывает, что SHA1 почти не содержит конфликтов, но я не могу понять, как на самом деле создать хеш для моих входных значений. Мне просто нужно создать хэш и сохранить шестнадцатеричное значение в массиве. После некоторых поисков Google я нашел документацию OpenSSL, в которой мне было предложено использовать это:
#include <openssl/sha.h>
unsigned char *SHA1(const unsigned char *d, unsigned long n,
unsigned char *md);
int SHA1_Init(SHA_CTX *c);
int SHA1_Update(SHA_CTX *c, const void *data,
unsigned long len);
int SHA1_Final(unsigned char *md, SHA_CTX *c);
Я считаю, что я должен использовать либо unsigned char * SHA1, либо SHA1_Init, но я не уверен, какие аргументы будут, если x - мой вход, который будет хэширован. Кто-нибудь, пожалуйста, очистите это для меня? Спасибо.