using namespace std;
using namespace CryptoPP;
using namespace CryptoPP;
inline std::string encode_md5(const std::string& data)
{
//计算MD5 digest hash
CryptoPP::MD5 hash;
CryptoPP::byte digest[CryptoPP::MD5::DIGESTSIZE];
hash.CalculateDigest(digest, (CryptoPP::byte*)data.c_str(), data.size());
// 将md5 digest转换成hex string 格式
std::string res;
CryptoPP::HexEncoder encoder;
encoder.Attach(new CryptoPP::StringSink(res));
encoder.Put(digest, sizeof(digest));
encoder.MessageEnd();
return res;
}
void md5_test()
{
string s2 = encode_md5("hello world");
fmt::println("s2:{}", s2);
}
int main(int argc, char* argv[])
{
md5_test();
return 0;
}