11#include <rtl/random.h>
24 'A',
'Q',
'g',
'w',
'B',
'R',
'h',
'x',
25 'C',
'S',
'i',
'y',
'D',
'T',
'j',
'z',
26 'E',
'U',
'k',
'0',
'F',
'V',
'l',
'1',
27 'G',
'W',
'm',
'2',
'H',
'X',
'n',
'3',
28 'I',
'Y',
'o',
'4',
'J',
'Z',
'p',
'5',
29 'K',
'a',
'q',
'6',
'L',
'b',
'r',
'7',
30 'M',
'c',
's',
'8',
'N',
'd',
't',
'9',
31 'O',
'e',
'u',
'+',
'P',
'f',
'v',
'/',
33 'A',
'Q',
'g',
'w',
'B',
'R',
'h',
'x',
34 'C',
'S',
'i',
'y',
'D',
'T',
'j',
'z',
35 'E',
'U',
'k',
'0',
'F',
'V',
'l',
'1',
36 'G',
'W',
'm',
'2',
'H',
'X',
'n',
'3',
37 'I',
'Y',
'o',
'4',
'J',
'Z',
'p',
'5',
38 'K',
'a',
'q',
'6',
'L',
'b',
'r',
'7',
39 'M',
'c',
's',
'8',
'N',
'd',
't',
'9',
40 'O',
'e',
'u',
'+',
'P',
'f',
'v',
'/',
42 'A',
'Q',
'g',
'w',
'B',
'R',
'h',
'x',
43 'C',
'S',
'i',
'y',
'D',
'T',
'j',
'z',
44 'E',
'U',
'k',
'0',
'F',
'V',
'l',
'1',
45 'G',
'W',
'm',
'2',
'H',
'X',
'n',
'3',
46 'I',
'Y',
'o',
'4',
'J',
'Z',
'p',
'5',
47 'K',
'a',
'q',
'6',
'L',
'b',
'r',
'7',
48 'M',
'c',
's',
'8',
'N',
'd',
't',
'9',
49 'O',
'e',
'u',
'+',
'P',
'f',
'v',
'/',
51 'A',
'Q',
'g',
'w',
'B',
'R',
'h',
'x',
52 'C',
'S',
'i',
'y',
'D',
'T',
'j',
'z',
53 'E',
'U',
'k',
'0',
'F',
'V',
'l',
'1',
54 'G',
'W',
'm',
'2',
'H',
'X',
'n',
'3',
55 'I',
'Y',
'o',
'4',
'J',
'Z',
'p',
'5',
56 'K',
'a',
'q',
'6',
'L',
'b',
'r',
'7',
57 'M',
'c',
's',
'8',
'N',
'd',
't',
'9',
58 'O',
'e',
'u',
'+',
'P',
'f',
'v',
'/'
61 void encodeChaff(std::vector<sal_uInt8> &rChaff)
63 static_assert(
sizeof(aChaffEncoder) == 256,
"this has to cover all chars");
65 for (
auto & elem : rChaff)
67 elem = aChaffEncoder[elem];
79 rtl_random_getBytes(pool, &
n, 1);
83 std::vector<sal_uInt8> aChaff(
nLength);
84 rtl_random_getBytes(pool, aChaff.data(),
nLength);
86 rtl_random_destroyPool(pool);
90 return OString(
reinterpret_cast<const char*
>(aChaff.data()),
nLength);
OString generateGUIDString()