QtPass 2.0.0
Developer documentation
Loading...
Searching...
No Matches
base32.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2025 KeePassXC Team <team@keepassxc.org>
2// SPDX-FileCopyrightText: 2026 Anne Jan Brouwer
3// SPDX-License-Identifier: GPL-3.0-or-later
9#ifndef SRC_BASE32_H_
10#define SRC_BASE32_H_
11
12#include <QByteArray>
13
34class Base32 {
35public:
42 [[nodiscard]] static auto decode(const QByteArray &encodedData) -> QByteArray;
43
50 [[nodiscard]] static auto encode(const QByteArray &data) -> QByteArray;
51
58 [[nodiscard]] static auto addPadding(const QByteArray &encodedData)
59 -> QByteArray;
60
67 [[nodiscard]] static auto removePadding(const QByteArray &encodedData)
68 -> QByteArray;
69
80 [[nodiscard]] static auto sanitizeInput(const QByteArray &encodedData)
81 -> QByteArray;
82
83private:
85 Base32() = default;
86};
87
88#endif // SRC_BASE32_H_
static auto sanitizeInput(const QByteArray &encodedData) -> QByteArray
Make human-entered base32 text decodable.
Definition base32.cpp:305
Base32()=default
Static-only class; never instantiated.
static auto addPadding(const QByteArray &encodedData) -> QByteArray
Append '=' padding up to a multiple of 8 characters.
Definition base32.cpp:275
static auto decode(const QByteArray &encodedData) -> QByteArray
Decode strict RFC 4648 base32 data.
Definition base32.cpp:128
static auto encode(const QByteArray &data) -> QByteArray
Encode raw bytes as padded RFC 4648 base32.
Definition base32.cpp:191
static auto removePadding(const QByteArray &encodedData) -> QByteArray
Strip trailing '=' padding.
Definition base32.cpp:294