C使用sha2哈希函数

标签 c sha

如何使用哈希函数

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/

相关文章:

c - 空字符是否在字符串末尾附加两次

c - 如何在c中返回char数组指针。

php mysqli_connect : authentication method unknown to the client [caching_sha2_password]

java - SHA-1 哈希值与字符串混合

c++ - SHA1 在 C++ 中返回不正确长度的散列

c - 如何访问C中分配的内存?

c++ - FastCGI 如何在 Web 服务器上工作(例如 Apache 2.2+)?

C 编程多线程段错误

php - HashMap 像名称

android - 在 Android 中找不到使用 DigestUtils 的方法