2018-12-31 20:04:05 +01:00
|
|
|
//
|
2022-12-31 22:28:08 +01:00
|
|
|
// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023
|
2018-12-31 20:04:05 +01:00
|
|
|
//
|
|
|
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
|
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
//
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "td/utils/common.h"
|
2019-08-12 13:45:57 +02:00
|
|
|
#include "td/utils/SharedSlice.h"
|
2019-08-13 22:52:54 +02:00
|
|
|
#include "td/utils/Slice.h"
|
2018-12-31 20:04:05 +01:00
|
|
|
#include "td/utils/Status.h"
|
|
|
|
|
|
|
|
namespace td {
|
|
|
|
|
|
|
|
string base64_encode(Slice input);
|
|
|
|
Result<string> base64_decode(Slice base64);
|
2019-08-12 13:45:57 +02:00
|
|
|
Result<SecureString> base64_decode_secure(Slice base64);
|
2018-12-31 20:04:05 +01:00
|
|
|
|
|
|
|
string base64url_encode(Slice input);
|
|
|
|
Result<string> base64url_decode(Slice base64);
|
2021-02-10 21:24:42 +01:00
|
|
|
Result<SecureString> base64url_decode_secure(Slice base64);
|
2018-12-31 20:04:05 +01:00
|
|
|
|
2018-01-19 13:43:00 +01:00
|
|
|
bool is_base64(Slice input);
|
2018-01-19 14:38:56 +01:00
|
|
|
bool is_base64url(Slice input);
|
2018-01-19 13:43:00 +01:00
|
|
|
|
2020-01-09 18:18:53 +01:00
|
|
|
bool is_base64_characters(Slice input);
|
|
|
|
bool is_base64url_characters(Slice input);
|
|
|
|
|
2018-01-19 13:43:00 +01:00
|
|
|
string base64_filter(Slice input);
|
2020-06-26 01:24:13 +02:00
|
|
|
|
2020-06-24 13:47:36 +02:00
|
|
|
string base32_encode(Slice input, bool upper_case = false);
|
|
|
|
Result<string> base32_decode(Slice base32);
|
2020-06-26 01:24:13 +02:00
|
|
|
|
2018-12-31 20:04:05 +01:00
|
|
|
} // namespace td
|