我正在使用C开发一个工具,它将文件作为输入。我需要计算文件的SHA1总和。该工具需要与Linux,Mac和Windows平台兼容。这些文件的大小从150MB到2G不等。我需要该工具能够至少与sha1sum
Linux实用程序一样快地计算SHA。
有关如何合并SHA1的任何建议吗?我对使用openssl
接口很谨慎,因为该工具的客户端不需要安装openssl
。
答案 0 :(得分:3)
OpenSSL是C中的事实标准。它不需要安装,因为你可以提供库和你的程序(甚至静态编译它)。
OpenSSL是BSD风格的许可,所以你甚至可以直接在你的程序中使用他们的SHA1代码(给予信任),尽管将它与库分离可能很棘手。
答案 1 :(得分:1)
我的digest R包用于md5,sha1,sha256等的短独立C源,由Christophe Devine编写。这是很好的代码,它包括一些复制参考结果的测试。
我相信他的网站不再存在,但是当我例如检查谷歌代码搜索时,相同的功能似乎已被包含在许多其他开源项目中。您可以轻松地从我的tarball中提取这些来源,甚至可以直接从R-Forge's digest repo的SVN目录中提取这些来源。