QGIS API Documentation  3.8.0-Zanzibar (11aff65)
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 #define SIP_NO_FILE
21 
22 #include <QFile>
23 #include <QString>
24 
25 #include "qgis_core.h"
26 
33 class 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.
Definition: qgsauthcrypto.h:33