修改 md5 加密库

This commit is contained in:
YuHuanTin 2025-04-13 17:46:14 +08:00
parent e3121ecd5a
commit f7c7ed0c60

View File

@ -218,15 +218,15 @@ print(signResult)
### CplusPlus
需要 c++ 23 标准库,[cpr](https://github.com/libcpr/cpr)、[cryptopp](https://github.com/weidai11/cryptopp)、[nlohmann/json](https://github.com/nlohmann/json) 等依赖
需要 c++ 23 标准库,[cpr](https://github.com/libcpr/cpr)、[botan](https://github.com/randombit/botan)、[nlohmann/json](https://github.com/nlohmann/json) 等依赖
```c++
#include <print> // std::println
/// thrid party libraries
#include <botan/hash.h>
#include <botan/hex.h>
#include <cpr/cpr.h> // cpr::util::urlEncode()
#include <cryptopp/md5.h>
#include <cryptopp/hex.h>
#include <nlohmann/json.hpp>
/*
@ -235,19 +235,9 @@ print(signResult)
/* 获取 md5 hex(lower) */
std::string Get_md5_hex(const std::string &Input_str) {
CryptoPP::Weak1::MD5 hash;
std::string md5_hex;
CryptoPP::StringSource ss(Input_str, true,
new CryptoPP::HashFilter(hash,
new CryptoPP::HexEncoder(
new CryptoPP::StringSink(md5_hex)
)
)
);
std::ranges::for_each(md5_hex, [](char &x) { x = std::tolower(x); });
return md5_hex;
const auto md5 = Botan::HashFunction::create_or_throw("MD5");
md5->update(Input_str);
return Botan::hex_encode(md5->final(), false);
}
/* 将 json 转换为 url 编码字符串 */