C中有哪些广泛使用的加密/哈希库?

时间:2011-04-12 15:26:49

标签: c cryptography

我一直在研究C中的加密实现。 我需要使用任何一种流行的哈希函数(如SHA,MD5等)来​​使用哈希消息。

在Java中,有一个安全库可以处理这些事情 但是我如何在C中做同样的事情?

例如: char * str =“这是一条消息”; char * hash = SHA(str);

这种东西。如果有人可以指向一些已经实现了这些功能的库,我可以为我的程序调用,这将是非常有帮助的。

谢谢!

2 个答案:

答案 0 :(得分:10)

sphlib是一个开源库,它在许多哈希函数的C中提供优化(但可移植)的实现。

OpenSSL是一个更通用的加密库,它被广泛部署并提供了散列函数的实现(散列函数少于sphlib,但它还包括其他加密原语)。

答案 1 :(得分:4)

OpenSSL确实可以广泛使用。对于您的示例,您可以使用

unsigned char digest[SHA_DIGEST_LENGTH]; 
char *str = "this is a string";
SHA1(str, strlen(str), digest);