36 lines
999 B
C++
36 lines
999 B
C++
//
|
|
// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023
|
|
//
|
|
// 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"
|
|
#include "td/utils/SharedSlice.h"
|
|
#include "td/utils/Slice.h"
|
|
#include "td/utils/Status.h"
|
|
|
|
namespace td {
|
|
|
|
string base64_encode(Slice input);
|
|
Result<string> base64_decode(Slice base64);
|
|
Result<SecureString> base64_decode_secure(Slice base64);
|
|
|
|
string base64url_encode(Slice input);
|
|
Result<string> base64url_decode(Slice base64);
|
|
Result<SecureString> base64url_decode_secure(Slice base64);
|
|
|
|
bool is_base64(Slice input);
|
|
bool is_base64url(Slice input);
|
|
|
|
bool is_base64_characters(Slice input);
|
|
bool is_base64url_characters(Slice input);
|
|
|
|
string base64_filter(Slice input);
|
|
|
|
string base32_encode(Slice input, bool upper_case = false);
|
|
Result<string> base32_decode(Slice base32);
|
|
|
|
} // namespace td
|