这是我调用函数的地方..
memcpy(dataHashResult,sha1.operator()(dataBuffer,16),16);
我改变了
///计算内存块的SHA1
std::string operator()(const void* data, size_t numBytes);
到
std::string operator()(BYTE* data, size_t numBytes);
缓冲区的类型是..
unsigned char dataBuffer[64];
unsigned char dataHashResult[64];
任何帮助将不胜感激..我是C ++的新手.. 感谢。
答案 0 :(得分:3)
试试这个:
memcpy(dataHashResult,sha1.operator()(dataBuffer,16).c_str(),16);
问题是memcpy
需要一个指向要复制的指针。您的原始代码为其提供了std::string
对象。幸运的是,std::string
有c_str()
函数返回" C风格"字符串,即const char*
。