#include "src/utils/md5.h" #include "others/mbedtls/md5.h" namespace modsecurity { namespace Utils { std::string Md5::hexdigest(const std::string& input) { unsigned char digest[16]; mbedtls_md5(reinterpret_cast(input.c_str()), input.size(), digest); char buf[33]; for (int i = 0; i < 16; i++) { sprintf(buf+i*2, "%02x", digest[i]); } return std::string(buf, 32); } std::string Md5::digest(const std::string& input) { unsigned char output[16]; std::string ret; mbedtls_md5(reinterpret_cast(input.c_str()), input.size(), output); ret.assign(reinterpret_cast(output), 16); return ret; } } // namespace Utils } // namespace modsecurity