• ベストアンサー

OpenSSLのSHA1関連の関数はどこにあるでしょうか?

OpenSSLを読んでいるのですが、 ・SHA1_Init() ・SHA1_Update() ・SHA1_Final() の関数が定義してあるファイルが分かりませんでした。 sha.hにプロトタイプ宣言があるのは分かったのですが、 関数定義はどこにあるのでしょうか? ちなみに、OpenSSLは0.9.6cと0.9.8jを見ました。 コンパイル環境はCygwin+gccです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

ライブラリになってしまうので、ソース上から直接探すのは困難そうです。 0.9.6cで見てみました。 ・SHA1_Init()  openssl-0.9.6c/crypto/sha/sha_locl.h内の141行目、  void HASH_INIT (SHA_CTX *c)  が実体のようです。 ・SHA1_Update()  openssl-0.9.6c/crypto/md32_common.h内の413行目、  void HASH_UPDATE (HASH_CTX *c, const void *data_, unsigned long len)  が実体のようです。 ・SHA1_Final()  openssl-0.9.6c/ openssl-0.9.6c/crypto/md32_common.h内の546行目、  void HASH_FINAL (unsigned char *md, HASH_CTX *c)  が実体のようです。 それぞれdefineで切り替えているみたいです。 # プリプロセス後のファイルでgrepすると出てくるのではないでしょうか?

fugafugahogehoge
質問者

お礼

助かりました。ありがとうございました。

関連するQ&A

専門家に質問してみよう