我试图理解md_rand.c
中的散列函数是如何工作的。假设我声明了一个变量MD_CTX m
,我试图在每个m
函数之后看到MD_Update
的内容。
MD_Init(&m);
printf("%X\n",*(&m));
MD_Update(&m,(unsigned char *)&(md_c[0]),sizeof(md_c));
printf("%X\n",*(&m));
MD_Update(&m,local_md,MD_DIGEST_LENGTH);
printf("%X\n",*(&m));
CRYPTO_w_lock(CRYPTO_LOCK_RAND);
MD_Update(&m,md,MD_DIGEST_LENGTH);
printf("%X\n",*(&m));
MD_Final(md,&m);
但是,在每printf
之后,我总是会为所有4 MD_Update
个语句打印相同的值。如何在m
中获取更新后的值?