我正在考虑使用CRC-32或SHA-1,可能在我在Linux(Ubuntu)上开发的C程序中使用。
有没有简单的方法可以使用库?将CRC-32算法剪切并粘贴到我的程序的源代码中似乎很简单,但对SHA-1做同样的事情感觉有些不稳定。有没有简单的方法来使用库,最好是在Ubuntu中,但不一定?
我正在使用C,但如果必须的话,C ++就可以了。
答案 0 :(得分:2)
OpenSSL界面非常简单:
#include <openssl/sha.h>
unsigned char *SHA1(const unsigned char *d, unsigned long n, unsigned char *md);
d
是指向要进行哈希处理的输入的指针,长度为n
。 md
是指向SHA_DIGEST_LENGTH
个字节的指针,其中将存储SHA1哈希值。
答案 1 :(得分:1)
你有很多SHA免费库。 例如,这个很棒: http://www.cryptopp.com/(C ++)
答案 2 :(得分:1)
考虑使用纯粹的C LibTomCrypt。当然,您必须下载,编译和安装。您可能已经发现已经安装了OpenSSL库 - 但是这些库的接口更复杂(也更灵活,但您可能不需要灵活性)。另外,我认为他们也是纯粹的C.