如何使用哈希函数
void sha2( const unsigned char *input, int ilen,
unsigned char output[32] )
{
sha2_context ctx;
sha2_starts( &ctx );
sha2_update( &ctx, input, ilen );
sha2_finish( &ctx, output );
memset( &ctx, 0, sizeof( sha2_context ) );
}
我试过了
sha2(InpData, sizeof(InpData), OutData)
但结果我得到了垃圾数据。
最佳答案
如果没有看到 InpData
的声明,我们无法确定( Please, post a short, compilable example ),但 InpData
很可能是某种指针,与数组相反。 sizeof()
运算符应用于指针时,不会计算所指向的已分配存储的大小,而是计算指针的大小:通常为 4 或 8 字节。
关于C使用sha2哈希函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16614687/