Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/totp/totp.h')
-rw-r--r--src/totp/totp.h25
1 files changed, 21 insertions, 4 deletions
diff --git a/src/totp/totp.h b/src/totp/totp.h
index d5d8aa679..7d4c78c1d 100644
--- a/src/totp/totp.h
+++ b/src/totp/totp.h
@@ -20,13 +20,15 @@
#define QTOTP_H
#include <QtCore/qglobal.h>
+#include <QString>
+#include <QMap>
class QUrl;
-class QTotp
+class Totp
{
public:
- QTotp();
+ Totp();
static QString parseOtpString(QString rawSecret, quint8& digits, quint8& step);
static QString generateTotp(const QByteArray key, quint64 time, const quint8 numDigits, const quint8 step);
static QUrl generateOtpString(const QString& secret,
@@ -34,10 +36,25 @@ public:
const QString& issuer,
const QString& username,
const QString& algorithm,
- const quint8& digits,
- const quint8& step);
+ quint8 digits,
+ quint8 step);
static const quint8 defaultStep;
static const quint8 defaultDigits;
+ struct Encoder
+ {
+ QString name;
+ QString shortName;
+ QString alphabet;
+ quint8 digits;
+ quint8 step;
+ bool reverse;
+ };
+ static const Encoder defaultEncoder;
+ // custom encoder values that overload the digits field
+ static const quint8 ENCODER_STEAM;
+ static const QMap<quint8, Encoder> encoders;
+ static const QMap<QString, quint8> shortNameToEncoder;
+ static const QMap<QString, quint8> nameToEncoder;
};
#endif // QTOTP_H