【发布时间】:2015-06-10 15:21:54
【问题描述】:
有人可以帮助我如何轻松使用 Crypto++ 库中的哈希函数吗?
我尝试将这些代码用于 SHA1 和 MD5。我在StringSink 的线上有很多错误。错误如下:
undefined reference to `CryptoPP::StringSinkTemplate::StringSinkTemplate(std::string&)'
感谢您的帮助。
// SHA
CryptoPP::SHA1 sha1;
std::string source = "Hello";
std::string hash = "";
CryptoPP::StringSource(source, true, new CryptoPP::HashFilter(sha1, new CryptoPP::HexEncoder(new CryptoPP::StringSink(hash))));
std::cout << hash;
// MD5
CryptoPP::MD5 hash;
byte digest[ CryptoPP::MD5::DIGESTSIZE ];
std::string message = "abcdefghijklmnopqrstuvwxyz";
hash.CalculateDigest( digest, (byte*) message.c_str(), message.length() );
CryptoPP::HexEncoder encoder;
std::string output;
encoder.Attach( new CryptoPP::StringSink( output ) );
encoder.Put( digest, sizeof(digest) );
encoder.MessageEnd();
std::cout << output << std::endl;
【问题讨论】:
标签: c++ windows md5 sha1 crypto++