我正在尝试创建一个机器人来访问 BitStamp API ( https://www.bitstamp.net/api/ ) 并执行操作,但我遇到了障碍。
在链接的页面中,他们展示了如何使用 c++(V2 版本)进行身份验证的示例。我在使用 openSSL 进行身份验证时遇到这部分问题:
HMAC_CTX ctx;
HMAC_CTX_init(&ctx);
HMAC_Init_ex(&ctx, api_secret.c_str(), api_secret.length(), EVP_sha256(), NULL);
HMAC_Update(&ctx, (unsigned char*)data_to_sign.c_str(), data_to_sign.length());
HMAC_Final(&ctx, result, &len);
HMAC_CTX_cleanup(&ctx);
std::string x_auth_signature = b2a_hex( (char *)result, 32 );
free(result);
Run Code Online (Sandbox Code Playgroud)
和
std::string b2a_hex(char *byte_arr, int n)
{
const static std::string hex_codes = "0123456789abcdef";
std::string hex_string;
for ( int i = 0; i < n ; ++i ) {
unsigned char bin_value = byte_arr[i];
hex_string += hex_codes[( bin_value >> 4 ) & 0x0F];
hex_string …Run Code Online (Sandbox Code Playgroud)