Passwords are now saved in a password manager.
The password manager uses strong encryption using a key derived from the passphrase using scrypt key strengthening algorithm. This ensures encryption is performed using a strong key and that brute forcing the passphrase is time consuming. If the user loses his passphrase no recovery is possible.
This commit is contained in:
parent
2230a4bd61
commit
e36924c087
27 changed files with 605 additions and 346 deletions
|
|
@ -4,6 +4,7 @@
|
|||
#include <QDialog>
|
||||
|
||||
class QCheckBox;
|
||||
class QDialogButtonBox;
|
||||
class QLabel;
|
||||
class QLineEdit;
|
||||
|
||||
|
|
@ -11,22 +12,33 @@ class PasswordPromptDialog : public QDialog
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit PasswordPromptDialog(QWidget *parent = nullptr);
|
||||
enum Flag {
|
||||
ConfirmPassword = 1,
|
||||
SaveOption = 2
|
||||
};
|
||||
|
||||
void setConnectionDescription(const QString &description);
|
||||
Q_DECLARE_FLAGS(Flags, Flag)
|
||||
//Q_FLAG(Flags)
|
||||
|
||||
explicit PasswordPromptDialog(Flags flags, QWidget *parent = nullptr);
|
||||
|
||||
void setDescription(const QString &description);
|
||||
|
||||
QString password() const;
|
||||
bool saveChecked() const;
|
||||
private:
|
||||
Flags m_Flags;
|
||||
QLabel *m_connectionLabel = nullptr;
|
||||
QLabel *m_passwordLabel = nullptr;
|
||||
QLineEdit *m_passwordInput = nullptr;
|
||||
QLabel *m_passwordLabel[2] = { nullptr, nullptr };
|
||||
QLineEdit *m_passwordInput[2] = { nullptr, nullptr };
|
||||
QCheckBox *m_saveCheck = nullptr;
|
||||
QDialogButtonBox *m_DialogButtons = nullptr;
|
||||
|
||||
void retranslateUi();
|
||||
void updateOkEnabled();
|
||||
|
||||
private slots:
|
||||
// void accept();
|
||||
// void reject();
|
||||
void passwordChanged(const QString &text);
|
||||
};
|
||||
|
||||
#endif // PASSWORDPROMPTDIALOG_H
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue