0

我正在开发一个简单的 GUI 应用程序来计算文件的哈希值。它使用 CommonCrypto 库进行哈希和算法。因此,例如,我用于计算SHA1MD5哈希的代码完全相同,除了我使用上述库中的元素:常量、函数和结构。当然,我可以编写更通用的代码来接受常量作为值和函数指针,但是对于每种散列类型不同的自定义结构,我该怎么办?

例如,当我计算 MD5 哈希时,我有这个:

CC_MD5_CTX md5;
CC_MD5_Init(&md5);

当我计算 SHA1 哈希时,我有这个:

CC_SHA1_CTX sha1;
CC_SHA1_Init(&sha1);

如何将其转换为仅将 CC_HASH_CTX 作为参数的一段代码?

PS:虽然该应用程序是用 Objective C for Mac 编写的,但我认为这个问题并不是专门针对它的,所以我只是用 C 标记了它。

4

0 回答 0