1

我正在尝试在 sphlib 中提取和编译 SHA-512 实现。问题是这部分:

void
sph_sha512_close(void *cc, void *dst)
{
    sha384_close(cc, dst, 8);
    sph_sha512_init(cc);
}

我无法为我的生活找到sha384_close定义的地方。事实上,对整个项目的搜索根本没有任何定义/声明。

有谁知道这个函数是在哪里定义的?

4

1 回答 1

3

它似乎是 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.

于 2013-01-21T16:07:42.763 回答