14enum class OutputEncoding { kBinary, kBase16, kHex = kBase16, kBase64 };
16enum class Pad { kWith, kWithout };
18#ifndef USERVER_NO_CRYPTOPP_BLAKE2
23 OutputEncoding encoding = OutputEncoding::kHex);
29std::string
Sha1(std::string_view data,
30 OutputEncoding encoding = OutputEncoding::kHex);
35std::string
Sha224(std::string_view data,
36 OutputEncoding encoding = OutputEncoding::kHex);
41std::string
Sha256(std::string_view data,
42 OutputEncoding encoding = OutputEncoding::kHex);
47std::string
Sha384(std::string_view data,
48 OutputEncoding encoding = OutputEncoding::kHex);
53std::string
Sha512(std::string_view data,
54 OutputEncoding encoding = OutputEncoding::kHex);
62std::string
HmacSha1(std::string_view key, std::string_view message,
63 OutputEncoding encoding = OutputEncoding::kHex);
71std::string
HmacSha256(std::string_view key, std::string_view message,
72 OutputEncoding encoding = OutputEncoding::kHex);
80std::string
HmacSha384(std::string_view key, std::string_view message,
81 OutputEncoding encoding = OutputEncoding::kHex);
89std::string
HmacSha512(std::string_view key, std::string_view message,
90 OutputEncoding encoding = OutputEncoding::kHex);
98std::string
Md5(std::string_view data,
99 OutputEncoding encoding = OutputEncoding::kHex);