From 49cc88def2f9edea59e79ca37f41400ad870579e Mon Sep 17 00:00:00 2001 From: Aargh Rai Date: Wed, 27 May 2026 17:13:14 +0530 Subject: went through all, but comms is working --- src/server/base64.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/server/base64.c (limited to 'src/server/base64.c') diff --git a/src/server/base64.c b/src/server/base64.c new file mode 100644 index 0000000..3400cfb --- /dev/null +++ b/src/server/base64.c @@ -0,0 +1,27 @@ +static const char b64[] = + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789+/"; + +void base64_encode( + const unsigned char *in, + size_t len, + char *out +) { + size_t i, j = 0; + + for (i = 0; i < len; i += 3) { + unsigned v = in[i] << 16; + + if (i + 1 < len) v |= in[i + 1] << 8; + if (i + 2 < len) v |= in[i + 2]; + + out[j++] = b64[(v >> 18) & 63]; + out[j++] = b64[(v >> 12) & 63]; + + out[j++] = (i + 1 < len) ? b64[(v >> 6) & 63] : '='; + out[j++] = (i + 2 < len) ? b64[v & 63] : '='; + } + + out[j] = 0; +} -- cgit v1.2.3