diff options
| author | luigi1111 <luigi1111w@gmail.com> | 2022-05-26 21:26:42 -0500 |
|---|---|---|
| committer | luigi1111 <luigi1111w@gmail.com> | 2022-05-26 21:26:42 -0500 |
| commit | 9750e1fa103539b3e533455500610aae76e253a5 (patch) | |
| tree | 584024bd9bcbec779a7a2b5af3b37d74414286c6 /src/common/util.cpp | |
| parent | 72cba504585dac3a49ca9b7f26146e04014980c8 (diff) | |
| parent | 08080df2d9de877ae79028f20960b6b2417d4f20 (diff) | |
| download | monzero-core-9750e1fa103539b3e533455500610aae76e253a5.tar.gz monzero-core-9750e1fa103539b3e533455500610aae76e253a5.tar.xz monzero-core-9750e1fa103539b3e533455500610aae76e253a5.zip | |
Merge pull request #8340
08080df unit_tests: add more sha256sum test cases (Jeffrey Ryan)
a66a52d common: update sha256sum to use OpenSSL 3.0 API (Jeffrey Ryan)
Diffstat (limited to 'src/common/util.cpp')
| -rw-r--r-- | src/common/util.cpp | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/src/common/util.cpp b/src/common/util.cpp index 89dcf4fef..f0de73a06 100644 --- a/src/common/util.cpp +++ b/src/common/util.cpp @@ -85,7 +85,7 @@ using namespace epee; #include <boost/algorithm/string.hpp> #include <boost/asio.hpp> #include <boost/format.hpp> -#include <openssl/sha.h> +#include <openssl/evp.h> #undef MONERO_DEFAULT_LOG_CATEGORY #define MONERO_DEFAULT_LOG_CATEGORY "util" @@ -941,14 +941,7 @@ std::string get_nix_version_display_string() bool sha256sum(const uint8_t *data, size_t len, crypto::hash &hash) { - SHA256_CTX ctx; - if (!SHA256_Init(&ctx)) - return false; - if (!SHA256_Update(&ctx, data, len)) - return false; - if (!SHA256_Final((unsigned char*)hash.data, &ctx)) - return false; - return true; + return EVP_Digest(data, len, (unsigned char*) hash.data, NULL, EVP_sha256(), NULL) != 0; } bool sha256sum(const std::string &filename, crypto::hash &hash) @@ -961,8 +954,8 @@ std::string get_nix_version_display_string() if (!f) return false; std::ifstream::pos_type file_size = f.tellg(); - SHA256_CTX ctx; - if (!SHA256_Init(&ctx)) + std::unique_ptr<EVP_MD_CTX, decltype(&EVP_MD_CTX_free)> ctx(EVP_MD_CTX_new(), &EVP_MD_CTX_free); + if (!EVP_DigestInit_ex(ctx.get(), EVP_sha256(), nullptr)) return false; size_t size_left = file_size; f.seekg(0, std::ios::beg); @@ -973,12 +966,12 @@ std::string get_nix_version_display_string() f.read(buf, read_size); if (!f || !f.good()) return false; - if (!SHA256_Update(&ctx, buf, read_size)) + if (!EVP_DigestUpdate(ctx.get(), buf, read_size)) return false; size_left -= read_size; } f.close(); - if (!SHA256_Final((unsigned char*)hash.data, &ctx)) + if (!EVP_DigestFinal_ex(ctx.get(), (unsigned char*)hash.data, nullptr)) return false; return true; } |
