QGIS API Documentation 3.99.0-Master (a8f284845db)
Loading...
Searching...
No Matches
qgsauthcrypto.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsauthcrypto.h
3 ---------------------
4 begin : October 5, 2014
5 copyright : (C) 2014 by Boundless Spatial, Inc. USA
6 author : Larry Shaffer
7 email : lshaffer at boundlessgeo dot com
8 ***************************************************************************
9 * *
10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. *
14 * *
15 ***************************************************************************/
16
17#ifndef QGSAUTHCRYPTO_H
18#define QGSAUTHCRYPTO_H
19
20
21#include "qgis_core.h"
22
23#include <QFile>
24#include <QString>
25
26#define SIP_NO_FILE
27
33class CORE_EXPORT QgsAuthCrypto
34{
35
36 public:
38 static bool isDisabled();
39
41 static const QString encrypt( const QString &pass, const QString &cipheriv, const QString &text );
42
44 static const QString decrypt( const QString &pass, const QString &cipheriv, const QString &text );
45
47 static void passwordKeyHash( const QString &pass,
48 QString *salt,
49 QString *hash,
50 QString *cipheriv = nullptr );
51
53 static bool verifyPasswordKeyHash( const QString &pass,
54 const QString &salt,
55 const QString &hash,
56 QString *hashderived = nullptr );
57
58 private:
59 static QString encryptdecrypt( const QString &passstr,
60 const QString &cipheriv,
61 const QString &textstr,
62 bool encrypt );
63};
64
65#endif // QGSAUTHCRYPTO_H
Functions for hashing/checking master password and encrypt/decrypting data with password.
static void passwordKeyHash(const QString &pass, QString *salt, QString *hash, QString *cipheriv=nullptr)
Generate SHA256 hash for master password, with iterations and salt.
static const QString encrypt(const QString &pass, const QString &cipheriv, const QString &text)
Encrypt data using master password.
static bool verifyPasswordKeyHash(const QString &pass, const QString &salt, const QString &hash, QString *hashderived=nullptr)
Verify existing master password hash to a re-generated one.
static const QString decrypt(const QString &pass, const QString &cipheriv, const QString &text)
Decrypt data using master password.
static bool isDisabled()
Whether QCA has the qca-ossl plugin, which a base run-time requirement.