userver
C++ Async Framework
Loading...
Searching...
No Matches
base64.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/crypto/base64.hpp
4
/// @brief @copybrief crypto::base64
5
/// @ingroup userver_universal
6
7
#
include
<
string_view
>
8
9
USERVER_NAMESPACE_BEGIN
10
11
/// Cryptographic hashing
12
namespace
crypto::
base64
{
13
14
enum
class
Pad { kWith, kWithout };
15
16
/// @brief Encodes data to Base64, add padding by default
17
/// @param pad controls if pad should be added or not
18
/// @throws CryptoException internal library exception
19
std::string
Base64Encode
(std::string_view data, Pad pad = Pad::kWith);
20
21
/// @brief Decodes data from Base64
22
/// @throws CryptoException internal library exception
23
std::string
Base64Decode
(std::string_view data);
24
25
#
ifndef
USERVER_NO_CRYPTOPP_BASE64_URL
26
27
/// @brief Encodes data to Base64 (using URL alphabet), add padding by default
28
/// @param pad controls if pad should be added or not
29
/// @throws CryptoException internal library exception
30
std::string
Base64UrlEncode
(std::string_view data, Pad pad = Pad::kWith);
31
32
/// @brief Decodes data from Base64 (using URL alphabet)
33
/// @throws CryptoException internal library exception
34
std::string
Base64UrlDecode
(std::string_view data);
35
36
#
endif
37
38
}
// namespace crypto::base64
39
40
USERVER_NAMESPACE_END
userver
crypto
base64.hpp
Generated on Wed May 15 2024 22:31:51 for userver by
Doxygen
1.10.0