我们正在使用一种较旧的软件产品,该产品具有一些有限的编程功能 - 具体来说,没有位操作功能。这造成了一个严重的问题,因为我们需要实现 HMAC-MD5 哈希来与行业标准软件接口连接。
较旧的软件确实能够调用 C 程序/dll 并传递该信息并获取返回值。我们没有 C 语言经验,也没有如何设置所需的共享库的经验。
所以具体来说:
- 我们应该如何搭建和安装一个简单的C编译环境呢?
- 我们在哪里可以找到 HMAC-MD5 算法的现有开源 C 实现?
- 如果这不存在,我们在哪里可以找到实现该算法的资源?我们的环境是Unix CENTOS 4.9和Apache/1.3.42
答案1
编译器应该是gcc
,如果您没有它,则该软件包具有相同的名称 - 按照您通常安装 CentOS 软件包的方式安装它(例如,yum install gcc
)
HMAC-MD5 有很多开源实现。任何加密图书馆都会有它。其他各种项目都有一个。谷歌或代码搜索很快就会找到数千个。
事实上,HMAC 的定义是RFC2104,其中包括附录中的示例 C 代码。 (您还需要从 RFC 1321 获取 MD5 示例代码)。