14enum class OutputEncoding { kBinary, kBase16, kHex = kBase16, kBase64 };
16enum class Pad { kWith, kWithout };
18#ifndef USERVER_NO_CRYPTOPP_BLAKE2
23std::string
Blake2b128(std::string_view data, OutputEncoding encoding = OutputEncoding::kHex);
30std::string
Sha1(std::string_view data, OutputEncoding encoding = OutputEncoding::kHex);
36std::string
Sha224(std::string_view data, OutputEncoding encoding = OutputEncoding::kHex);
42std::string
Sha256(std::string_view data, OutputEncoding encoding = OutputEncoding::kHex);
48std::string
Sha384(std::string_view data, OutputEncoding encoding = OutputEncoding::kHex);
54std::string
Sha512(std::string_view data, OutputEncoding encoding = OutputEncoding::kHex);
62std::string
HmacSha1(std::string_view key, std::string_view message, OutputEncoding encoding = OutputEncoding::kHex);
70std::string
HmacSha256(std::string_view key, std::string_view message, OutputEncoding encoding = OutputEncoding::kHex);
78std::string
HmacSha384(std::string_view key, std::string_view message, OutputEncoding encoding = OutputEncoding::kHex);
86std::string
HmacSha512(std::string_view key, std::string_view message, OutputEncoding encoding = OutputEncoding::kHex);
95std::string
Md5(std::string_view data, OutputEncoding encoding = OutputEncoding::kHex);