有没有简单的方法来使用库来散列数据数组?

时间:2010-08-22 17:07:06

标签: c hash

我正在考虑使用CRC-32SHA-1,可能在我在Linux(Ubuntu)上开发的C程序中使用。

有没有简单的方法可以使用库?将CRC-32算法剪切并粘贴到我的程序的源代码中似乎很简单,但对SHA-1做同样的事情感觉有些不稳定。有没有简单的方法来使用库,最好是在Ubuntu中,但不一定?

我正在使用C,但如果必须的话,C ++就可以了。

3 个答案:

答案 0 :(得分:2)

OpenSSL界面非常简单:

#include <openssl/sha.h>

unsigned char *SHA1(const unsigned char *d, unsigned long n, unsigned char *md);

d是指向要进行哈希处理的输入的指针,长度为nmd是指向SHA_DIGEST_LENGTH个字节的指针,其中将存储SHA1哈希值。

答案 1 :(得分:1)

你有很多SHA免费库。 例如,这个很棒: http://www.cryptopp.com/(C ++)

答案 2 :(得分:1)

考虑使用纯粹的C LibTomCrypt。当然,您必须下载,编译和安装。您可能已经发现已经安装了OpenSSL库 - 但是这些库的接口更复杂(也更灵活,但您可能不需要灵活性)。另外,我认为他们也是纯粹的C.