我正在尝试编写一个C程序,证明SHA1几乎是不会发生碰撞的,但我无法弄清楚如何为我的输入值实际创建哈希。我只需要创建哈希,将十六进制值存储到数组中即可。经过一些谷歌搜索,我找到了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是我的输入需要进行哈希处理。请问有人能够帮我澄清这个问题吗?谢谢。