Botan
1.10.17
src
codec
hex
hex.h
Go to the documentation of this file.
1
/*
2
* Hex Encoding and Decoding
3
* (C) 2010 Jack Lloyd
4
*
5
* Distributed under the terms of the Botan license
6
*/
7
8
#ifndef BOTAN_HEX_CODEC_H__
9
#define BOTAN_HEX_CODEC_H__
10
11
#include <botan/secmem.h>
12
#include <string>
13
14
namespace
Botan
{
15
16
/**
17
* Perform hex encoding
18
* @param output an array of at least input_length*2 bytes
19
* @param input is some binary data
20
* @param input_length length of input in bytes
21
* @param uppercase should output be upper or lower case?
22
*/
23
void
BOTAN_DLL
hex_encode
(
char
output[],
24
const
byte
input[],
25
size_t
input_length,
26
bool
uppercase =
true
);
27
28
/**
29
* Perform hex encoding
30
* @param input some input
31
* @param input_length length of input in bytes
32
* @param uppercase should output be upper or lower case?
33
* @return hexadecimal representation of input
34
*/
35
std::string BOTAN_DLL
hex_encode
(
const
byte
input[],
36
size_t
input_length,
37
bool
uppercase =
true
);
38
39
/**
40
* Perform hex encoding
41
* @param input some input
42
* @param uppercase should output be upper or lower case?
43
* @return hexadecimal representation of input
44
*/
45
std::string BOTAN_DLL
hex_encode
(
const
MemoryRegion<byte>
& input,
46
bool
uppercase =
true
);
47
48
/**
49
* Perform hex decoding
50
* @param output an array of at least input_length/2 bytes
51
* @param input some hex input
52
* @param input_length length of input in bytes
53
* @param input_consumed is an output parameter which says how many
54
* bytes of input were actually consumed. If less than
55
* input_length, then the range input[consumed:length]
56
* should be passed in later along with more input.
57
* @param ignore_ws ignore whitespace on input; if false, throw an
58
exception if whitespace is encountered
59
* @return number of bytes written to output
60
*/
61
size_t
BOTAN_DLL
hex_decode
(
byte
output[],
62
const
char
input[],
63
size_t
input_length,
64
size_t
& input_consumed,
65
bool
ignore_ws =
true
);
66
67
/**
68
* Perform hex decoding
69
* @param output an array of at least input_length/2 bytes
70
* @param input some hex input
71
* @param input_length length of input in bytes
72
* @param ignore_ws ignore whitespace on input; if false, throw an
73
exception if whitespace is encountered
74
* @return number of bytes written to output
75
*/
76
size_t
BOTAN_DLL
hex_decode
(
byte
output[],
77
const
char
input[],
78
size_t
input_length,
79
bool
ignore_ws =
true
);
80
81
/**
82
* Perform hex decoding
83
* @param output an array of at least input_length/2 bytes
84
* @param input some hex input
85
* @param ignore_ws ignore whitespace on input; if false, throw an
86
exception if whitespace is encountered
87
* @return number of bytes written to output
88
*/
89
size_t
BOTAN_DLL
hex_decode
(
byte
output[],
90
const
std::string& input,
91
bool
ignore_ws =
true
);
92
93
/**
94
* Perform hex decoding
95
* @param input some hex input
96
* @param input_length the length of input in bytes
97
* @param ignore_ws ignore whitespace on input; if false, throw an
98
exception if whitespace is encountered
99
* @return decoded hex output
100
*/
101
SecureVector<byte>
BOTAN_DLL
hex_decode
(
const
char
input[],
102
size_t
input_length,
103
bool
ignore_ws =
true
);
104
105
/**
106
* Perform hex decoding
107
* @param input some hex input
108
* @param ignore_ws ignore whitespace on input; if false, throw an
109
exception if whitespace is encountered
110
* @return decoded hex output
111
*/
112
SecureVector<byte>
BOTAN_DLL
hex_decode
(
const
std::string& input,
113
bool
ignore_ws =
true
);
114
115
}
116
117
#endif
Botan::MemoryRegion
Definition
secmem.h:22
Botan::SecureVector
Definition
secmem.h:329
Botan
Definition
algo_base.h:14
Botan::hex_decode
size_t hex_decode(byte output[], const char input[], size_t input_length, size_t &input_consumed, bool ignore_ws)
Definition
hex.cpp:55
Botan::hex_encode
void hex_encode(char output[], const byte input[], size_t input_length, bool uppercase)
Definition
hex.cpp:14
Generated by
1.18.0