10 static const byte s_stdVec[] =
11 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
13 static const byte s_urlVec[] =
14 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
15 static const byte s_padding = '=';
19 bool insertLineBreaks = parameters.GetValueWithDefault(Name::InsertLineBreaks(),
true);
20 int maxLineLength = parameters.GetIntValueWithDefault(Name::MaxLineLength(), 72);
22 const char *lineBreak = insertLineBreaks ?
"\n" :
"";
27 (Name::PaddingByte(), s_padding)
28 (Name::GroupSize(), insertLineBreaks ? maxLineLength : 0)
31 (Name::Log2Base(), 6,
true)));
39 const char *lineBreak = insertLineBreaks ?
"\n" :
"";
44 (Name::PaddingByte(), s_padding)
45 (Name::GroupSize(), insertLineBreaks ? maxLineLength : 0)
48 (Name::Log2Base(), 6,
true)));
51 const int *Base64Decoder::GetDecodingLookupArray()
53 static volatile bool s_initialized =
false;
54 static int s_array[256];
58 InitializeDecodingLookupArray(s_array, s_stdVec, 64,
false);
64 const int *Base64URLDecoder::GetDecodingLookupArray()
66 static volatile bool s_initialized =
false;
67 static int s_array[256];
71 InitializeDecodingLookupArray(s_array, s_urlVec, 64,
false);
used to pass byte array input as part of a NameValuePairs object
T GetValueWithDefault(const char *name, T defaultValue) const
Get a named value.
int GetIntValueWithDefault(const char *name, int defaultValue) const
Get a named value with type int, with default.
AlgorithmParameters MakeParameters(const char *name, const T &value, bool throwIfNotUsed=true)
Create an object that implements NameValuePairs.
Classes for the Base64Encoder, Base64Decoder, Base64URLEncoder and Base64URLDecoder.
void IsolatedInitialize(const NameValuePairs ¶meters)
void Initialize(const NameValuePairs ¶meters=g_nullNameValuePairs, int propagation=-1)
Initialize or reinitialize this object, with signal propagation.
Crypto++ library namespace.
Interface for retrieving values given their names.