7 return len + (
len + 49) / 50;
16 static const char val[256] = {
17 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
18 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
19 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
20 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1,
21 -1,-1,10,11,12,-1,13,14,15,-1,16,17,18,19,20,-1,
22 21,22,23,24,25,26,27,28,29,30,31,-1,-1,-1,-1,-1,
23 -1,-1,10,11,12,-1,13,14,15,-1,16,17,18,19,20,-1,
24 21,22,23,24,25,26,27,28,29,30,31,-1,-1,-1,-1,-1,
25 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
26 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
27 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
28 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
29 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
30 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
31 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
32 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
42 for (i = 0; i <
len; ++i) {
43 x = (
unsigned char) val[(
unsigned char) in[i]];
44 if (
x >= 32)
return 0;
54 if (vbits) *
out++ = v;
56 else if (vbits >= 5 || v)
70 for (i = 0; i <
len; ++i) {
71 v |= ((
unsigned int) (
unsigned char) in[i]) << vbits;
74 out[++
x] = base32_digits[v & 31];
84 if (vbits)
out[++
x] = base32_digits[v & 31];
94 byte_copy(
out,4,
"\66x1a");
98 for (i = 0; i < 32; ++i) {
99 v |= ((
unsigned int) (
unsigned char) key[i]) << vbits;
102 *
out++ = base32_digits[v & 31];
105 }
while (vbits >= 5);
unsigned int base32_bytessize(unsigned int len)
void base32_encodebytes(char *out, const char *in, unsigned int len)
unsigned int base32_decode(char *out, const char *in, unsigned int len, int mode)
void base32_encodekey(char *out, const char *key)
void out(const char *s, unsigned int len)