4 #include <c++utilities/conversion/binaryconversion.h> 6 #include <openssl/conf.h> 7 #include <openssl/err.h> 8 #include <openssl/evp.h> 9 #include <openssl/sha.h> 23 static_assert(
Sha256Sum::size == SHA256_DIGEST_LENGTH,
"SHA-256 sum fits into Sha256Sum struct");
31 ERR_load_crypto_strings();
33 OpenSSL_add_all_algorithms();
57 SHA256_Update(&sha256, buffer, size);
61 SHA256_Final(hash.
data, &sha256);
71 std::default_random_engine rng(dev());
72 std::uniform_int_distribution<uint32_t> dist(min, max);
void PASSWORD_FILE_EXPORT init()
Initializes OpenSSL.
static constexpr std::size_t size
void PASSWORD_FILE_EXPORT clean()
Cleans resources of OpenSSL.
Sha256Sum PASSWORD_FILE_EXPORT computeSha256Sum(const unsigned char *buffer, std::size_t size)
Computes a SHA-256 sum using OpenSSL.
Contains utility classes and functions.
std::uint32_t PASSWORD_FILE_EXPORT generateRandomNumber(std::uint32_t min, std::uint32_t max)
Provides a random device using the OpenSSL function RAND_bytes().