5#ifndef CUTELYSTPLUGIN_CREDENTIALPASSWORD_H
6#define CUTELYSTPLUGIN_CREDENTIALPASSWORD_H
8#include <Cutelyst/Plugins/Authentication/authentication.h>
9#include <Cutelyst/cutelyst_global.h>
11#include <QtCore/QCryptographicHash>
15class CredentialPasswordPrivate;
40 QString passwordField()
const;
45 void setPasswordField(
const QString &fieldName);
50 PasswordType passwordType()
const;
55 void setPasswordType(PasswordType type);
60 QString passwordPreSalt()
const;
65 void setPasswordPreSalt(
const QString &passwordPreSalt);
70 QString passwordPostSalt()
const;
75 void setPasswordPostSalt(
const QString &passwordPostSalt);
80 static bool validatePassword(
const QByteArray &password,
const QByteArray &correctHash);
85 static bool validatePassword(
const QString &password,
const QString &correctHash);
97 static QByteArray createPassword(
const QByteArray &password,
98 QCryptographicHash::Algorithm method,
109 static QByteArray createPassword(
const QByteArray &password);
117 inline static QString createPassword(
const QString &password);
128 static QByteArray pbkdf2(QCryptographicHash::Algorithm method,
129 const QByteArray &password,
130 const QByteArray &salt,
137 static QByteArray hmac(QCryptographicHash::Algorithm method,
138 const QByteArray &key,
139 const QByteArray &message);
142 CredentialPasswordPrivate *d_ptr;
146 const QString &correctHash)
static bool validatePassword(const QByteArray &password, const QByteArray &correctHash)
Validates the given password against the correct hash.
static QByteArray createPassword(const QByteArray &password, QCryptographicHash::Algorithm method, int iterations, int saltByteSize, int hashByteSize)
Creates a password hash string.
The Cutelyst namespace holds all public Cutelyst API.
QMultiMap< QString, QString > ParamsMultiMap