C++で自作HMAC-SHA1を書くのに挫折*1 代わりにSSLで依存しているOpenSSLを使用することにしました。 OpenSSLでSHA-1するコードは std::string sha1(const std::string &data) { //用意 SHA_CTX encoder; unsigned char result[SHA_DIGEST_LENGTH]; //計算 SHA1_Init(&encoder); SHA1_Update(&encoder, data.c_str(), data.length()); SHA1_Final(result, &encoder); result[SHA_DIGEST_LENGTH] = 0x00; return static_cast<std::string>((char*)result); } これで出来ました。 結果も合ってました。