2011-07-27 3 views
2

私はCで入力としてファイルを取り込むツールを開発しています。ファイルのSHA1の合計を計算する必要があります。このツールは、Linux、Mac、Windowsとのプラットフォーム互換性が必要です。ファイルのサイズは150MBから2Gの範囲で巨大です。少なくともsha1sum Linuxユーティリティと同じくらい速くSHAを計算できるツールが必要です。CでSHA1を使用

どのようにSHA1を組み込むことができますか?ツールのクライアントにはopensslがインストールされている必要はないため、opensslインターフェイスの使用には注意が必要です。

答えて

3

OpenSSLはC言語のデファクトスタンダードです。プログラムと一緒にライブラリを提供する(または静的にコンパイルすることもできる)ので、インストールする必要はありません。

OpenSSLはBSDスタイルでライセンスされているため、プログラムから直接SHA1コードを使用することもできます(クレジットを付与します)。ライブラリから切り離すのは難しいかもしれません。

1

私のdigest Rのパッケージには、Christophe Devineによって書かれたmd5、sha1、sha256などの短いスタンドアロンCソースが含まれています。いいコードですし、仕様からの参照結果を複製するいくつかのテストが含まれています。

彼のサイトはもはや存在しないと私は考えていますが、Googleコード検索でこれをチェックすると、他の多くのオープンソースプロジェクトに同じ機能が含まれているようです。私のtarballからこれらのソースを簡単に抽出することもできますし、SVNディレクトリR-Forge's digest repoから直接入手することもできます。

関連する問題