我只是在寻找一个计算字符串的sha1哈希并返回结果的函数。
答案 0 :(得分:36)
不是内置的。试试openssl的加密库。
(https://www.openssl.org/source/)
(https://github.com/openssl/openssl/blob/master/include/openssl/sha.h)
(https://www.openssl.org/docs/man1.1.0/crypto/SHA1.html)
#include <openssl/sha.h>
int main()
{
const unsigned char str[] = "Original String";
unsigned char hash[SHA_DIGEST_LENGTH]; // == 20
SHA1(str, sizeof(str) - 1, hash);
// do some stuff with the hash
return 0;
}
与-lssl
关联,这将暗示-lcrypto
。如果您要静态链接,则可能需要链接两者。
答案 1 :(得分:7)
答案 2 :(得分:2)
以下是一个示例:http://www.codeproject.com/KB/recipes/csha1.aspx#csha1is
此外,这个问题已在this主题上得到解决。他们有一些链接可以提供进一步的帮助。看看吧。
答案 3 :(得分:2)
答案 4 :(得分:0)
结帐this post on Ubuntu Forums。他们建议查看libcrypt
。
还有一个实现here,但我不确定许可证是什么。
答案 5 :(得分:-2)
您需要使用库。 Boost具有此功能。