在C中使用SHA1

时间:2011-07-27 03:21:35

标签: c cross-platform sha1

我正在使用C开发一个工具,它将文件作为输入。我需要计算文件的SHA1总和。该工具需要与Linux,Mac和Windows平台兼容。这些文件的大小从150MB到2G不等。我需要该工具能够至少与sha1sum Linux实用程序一样快地计算SHA。

有关如何合并SHA1的任何建议吗?我对使用openssl接口很谨慎,因为该工具的客户端不需要安装openssl

2 个答案:

答案 0 :(得分:3)

OpenSSL是C中的事实标准。它不需要安装,因为你可以提供库和你的程序(甚至静态编译它)。

OpenSSL是BSD风格的许可,所以你甚至可以直接在你的程序中使用他们的SHA1代码(给予信任),尽管将它与库分离可能很棘手。

答案 1 :(得分:1)

我的digest R包用于md5,sha1,sha256等的短独立C源,由Christophe Devine编写。这是很好的代码,它包括一些复制参考结果的测试。

我相信他的网站不再存在,但是当我例如检查谷歌代码搜索时,相同的功能似乎已被包含在许多其他开源项目中。您可以轻松地从我的tarball中提取这些来源,甚至可以直接从R-Forge's digest repo的SVN目录中提取这些来源。