我正在尝试在 sphlib 中提取和编译 SHA-512 实现。问题是这部分:
void
sph_sha512_close(void *cc, void *dst)
{
sha384_close(cc, dst, 8);
sph_sha512_init(cc);
}
我无法为我的生活找到sha384_close
定义的地方。事实上,对整个项目的搜索根本没有任何定义/声明。
有谁知道这个函数是在哪里定义的?
它似乎是 md_helper.c 底部的一个宏;来自sha2.c:
#define RFUN sha3_round
#define HASH sha384
#define BE64 1
#include "md_helper.c"
在 md_helper 的底部:
static void
SPH_XCAT(HASH, _close)(void *cc, void *dst, unsigned rnum)
{
SPH_XCAT(HASH, _addbits_and_close)(cc, 0, 0, dst, rnum);
}
whereSPH_XCAT
只是HASH
(= sha384
) 和_close
.