mirror of
https://github.com/zs-yg/kortapp-z.git
synced 2025-12-06 16:10:42 +08:00
24 lines
684 B
C++
24 lines
684 B
C++
#include "../include/MD5Converter.hpp"
|
|
#include <openssl/evp.h>
|
|
#include <sstream>
|
|
#include <iomanip>
|
|
|
|
std::string MD5Converter::convert(const std::string& input) {
|
|
EVP_MD_CTX* mdctx = EVP_MD_CTX_new();
|
|
const EVP_MD* md = EVP_md5();
|
|
unsigned char digest[EVP_MAX_MD_SIZE];
|
|
unsigned int digest_len;
|
|
|
|
EVP_DigestInit_ex(mdctx, md, nullptr);
|
|
EVP_DigestUpdate(mdctx, input.c_str(), input.length());
|
|
EVP_DigestFinal_ex(mdctx, digest, &digest_len);
|
|
EVP_MD_CTX_free(mdctx);
|
|
|
|
std::stringstream ss;
|
|
for(unsigned int i = 0; i < digest_len; i++) {
|
|
ss << std::hex << std::setw(2) << std::setfill('0') << (int)digest[i];
|
|
}
|
|
|
|
return ss.str();
|
|
}
|