14enum class OutputEncoding { kBinary, kBase16, kHex = kBase16, kBase64 };
16enum class Pad { kWith, kWithout };
18#ifndef USERVER_NO_CRYPTOPP_BLAKE2
22std::string
Blake2b128(std::string_view data, OutputEncoding encoding = OutputEncoding::kHex);
28std::string
Sha1(std::string_view data, OutputEncoding encoding = OutputEncoding::kHex);
33std::string
Sha224(std::string_view data, OutputEncoding encoding = OutputEncoding::kHex);
38std::string
Sha256(std::string_view data, OutputEncoding encoding = OutputEncoding::kHex);
43std::string
Sha384(std::string_view data, OutputEncoding encoding = OutputEncoding::kHex);
48std::string
Sha512(std::string_view data, OutputEncoding encoding = OutputEncoding::kHex);
56std::string
HmacSha1(std::string_view key, std::string_view message, OutputEncoding encoding = OutputEncoding::kHex);
64std::string
HmacSha256(std::string_view key, std::string_view message, OutputEncoding encoding = OutputEncoding::kHex);
72std::string
HmacSha384(std::string_view key, std::string_view message, OutputEncoding encoding = OutputEncoding::kHex);
80std::string
HmacSha512(std::string_view key, std::string_view message, OutputEncoding encoding = OutputEncoding::kHex);
88std::string
Md5(std::string_view data, OutputEncoding encoding = OutputEncoding::kHex);