【发布时间】:2011-06-08 09:14:48
【问题描述】:
我正在尝试找到一个好的(并且有据可查的)散列库来与我的 C++ 程序一起使用,我只需要从一个字符串生成两个散列。
我尝试过使用crypto++ 和mhash,但我无法让它们工作,http://www.zedwood.com/article/121/cpp-md5-function 也是如此
如果这个库是跨平台的,我会很高兴。
【问题讨论】:
我正在尝试找到一个好的(并且有据可查的)散列库来与我的 C++ 程序一起使用,我只需要从一个字符串生成两个散列。
我尝试过使用crypto++ 和mhash,但我无法让它们工作,http://www.zedwood.com/article/121/cpp-md5-function 也是如此
如果这个库是跨平台的,我会很高兴。
【问题讨论】:
【讨论】:
问之前先搜索一下,已经有问题了: What is the best encryption library in C/C++?
像 OpenSSL 和 Crypto++ 这样的解决方案是跨平台的,如果你“没有设法让它们工作”,你应该更具体,比如:我使用 OS xyz 版本 xyz,编译器 xyz 版本 xyz,IDE xyz 版本 xyz , 试图从http://xyz 获取工作库 xyz 版本 xyz,但它不起作用,因为 xyz 错误。
【讨论】:
看我的回答here。原始样本取自here,并在std::string 而不是std::istream 上运行。 cryptopp wiki上有很多很好的示例,我会尝试寻找一些我用过的。
这是我的代码示例:
#include <cryptopp/md5.h>
byte digest[AES::BLOCKSIZE];
MD5().CalculateDigest(digest, (byte*)input.data(), input.size());
这是他们 wiki 上的cryptopp samples 列表。看看 HashFunctions 和 HashFilter。
【讨论】: