aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910>2009-01-04 01:16:03 +0000
committernils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910>2009-01-04 01:16:03 +0000
commitfe320b01d7db8fb6d84855c0a032c9bcc3cda20a (patch)
tree4ca4903454e4446c9b6176cc68e845cd17fbea43
parentadded missing files (diff)
downloadgpg4usb-fe320b01d7db8fb6d84855c0a032c9bcc3cda20a.tar.gz
gpg4usb-fe320b01d7db8fb6d84855c0a032c9bcc3cda20a.zip
added pwstrength-check to key generation
git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@206 34ebc366-c3a9-4b3c-9f84-69acf7962910
-rw-r--r--gpgwin.cpp1
-rwxr-xr-xkeymgmt.cpp49
-rwxr-xr-xkeymgmt.h6
3 files changed, 42 insertions, 14 deletions
diff --git a/gpgwin.cpp b/gpgwin.cpp
index ec81f79..961bd5f 100644
--- a/gpgwin.cpp
+++ b/gpgwin.cpp
@@ -463,6 +463,7 @@ void GpgWin::importKeyFromFile()
void GpgWin::openKeyManagement() {
KeyMgmt *window = new KeyMgmt(mCtx, iconPath);
+ window->resize(800,400);
window->show();
}
diff --git a/keymgmt.cpp b/keymgmt.cpp
index 5c4ef67..7829f50 100755
--- a/keymgmt.cpp
+++ b/keymgmt.cpp
@@ -183,7 +183,7 @@ void KeyMgmt::generateKeyDialog()
genkeyDialog->setWindowTitle(tr("Generate Key"));
genkeyDialog->setModal(true);
- nameLabel = new QLabel(tr("Name:*"));
+ nameLabel = new QLabel(tr("Name:"));
emailLabel = new QLabel(tr("E-Mailaddress::"));
commentLabel = new QLabel(tr("Comment:"));
keySizeLabel = new QLabel(tr("KeySize (in Bit):"));
@@ -191,12 +191,12 @@ void KeyMgmt::generateKeyDialog()
passwordLabel = new QLabel(tr("Password:"));
repeatpwLabel = new QLabel(tr("Repeat Password:"));
expireLabel = new QLabel(tr("Never Expire"));
+ pwStrengthLabel = new QLabel(tr("Password: Strength\nWeak -> Strong"));
errorLabel = new QLabel(tr(""));
-
nameEdit = new QLineEdit(genkeyDialog);
emailEdit = new QLineEdit(genkeyDialog);
commentEdit = new QLineEdit(genkeyDialog);
-
+
keySizeSpinBox = new QSpinBox(genkeyDialog);
keySizeSpinBox->setRange(512,8192);
keySizeSpinBox->setValue(2048);
@@ -217,6 +217,12 @@ void KeyMgmt::generateKeyDialog()
passwordEdit->setEchoMode(QLineEdit::Password);
repeatpwEdit->setEchoMode(QLineEdit::Password);
+ pwStrengthSlider = new QSlider(genkeyDialog);
+ pwStrengthSlider->setOrientation(Qt::Horizontal);
+ pwStrengthSlider->setMaximum(6);
+ pwStrengthSlider->setDisabled(true);
+ pwStrengthSlider->setToolTip(tr("Password Strength"));
+ pwStrengthSlider->setTickPosition(QSlider::TicksBelow);
QGridLayout *vbox1 = new QGridLayout;
vbox1->addWidget(nameLabel,0,0);
@@ -225,16 +231,19 @@ void KeyMgmt::generateKeyDialog()
vbox1->addWidget(emailEdit,1,1);
vbox1->addWidget(commentLabel,2,0);
vbox1->addWidget(commentEdit,2,1);
- vbox1->addWidget(keySizeLabel,3,0);
- vbox1->addWidget(keySizeSpinBox,3,1);
- vbox1->addWidget(dateLabel,4,0);
- vbox1->addWidget(dateEdit,4,1);
- vbox1->addWidget(expireCheckBox,4,2);
- vbox1->addWidget(expireLabel,4,3);
+ vbox1->addWidget(dateLabel,3,0);
+ vbox1->addWidget(dateEdit,3,1);
+ vbox1->addWidget(expireCheckBox,3,2);
+ vbox1->addWidget(expireLabel,3,3);
+ vbox1->addWidget(keySizeLabel,4,0);
+ vbox1->addWidget(keySizeSpinBox,4,1);
vbox1->addWidget(passwordLabel,5,0);
vbox1->addWidget(passwordEdit,5,1);
+ vbox1->addWidget(pwStrengthLabel,5,3);
vbox1->addWidget(repeatpwLabel,6,0);
vbox1->addWidget(repeatpwEdit,6,1);
+ vbox1->addWidget(pwStrengthSlider,6,3);
+
QWidget *nameList = new QWidget(genkeyDialog);
nameList->setLayout(vbox1);
@@ -247,7 +256,7 @@ void KeyMgmt::generateKeyDialog()
connect(buttonBox,SIGNAL(rejected()), genkeyDialog, SLOT(reject()));
connect(expireCheckBox,SIGNAL(stateChanged(int)), this, SLOT(expireBoxChanged()));
-
+ connect(passwordEdit,SIGNAL(textChanged(QString)), this, SLOT(passwordEditChanged()));
genkeyDialog->setLayout(vbox2);
genkeyDialog->show();
@@ -322,7 +331,21 @@ void KeyMgmt::expireBoxChanged()
}
}
-/*int checkPassWordStrength(QString password)
+
+void KeyMgmt::passwordEditChanged()
+{
+ pwStrengthSlider->setValue(checkPassWordStrength());
+ update();
+}
+
+int KeyMgmt::checkPassWordStrength()
{
- return 0;
-}*/
+ int strength=0;
+ if ((passwordEdit->text()).length() > 7) { strength=strength+2; }
+ if ((passwordEdit->text()).contains(QRegExp("\\d"))) { strength++; }
+ if ((passwordEdit->text()).contains(QRegExp("[a-z]"))) { strength++; }
+ if ((passwordEdit->text()).contains(QRegExp("[A-Z]"))) { strength++; }
+ if ((passwordEdit->text()).contains(QRegExp("\\W"))) { strength++; }
+
+ return strength;
+}
diff --git a/keymgmt.h b/keymgmt.h
index 02f96e1..bd91fb7 100755
--- a/keymgmt.h
+++ b/keymgmt.h
@@ -34,6 +34,7 @@ class QIcon;
class QAction;
class QMenu;
class QApplication;
+class QSlider;
#include "context.h"
#include "keylist.h"
@@ -54,6 +55,7 @@ public slots:
void deleteSelectedKeys();
void generateKeyDialog();
void expireBoxChanged();
+ void passwordEditChanged();
private slots:
void keyGenAccept();
@@ -63,7 +65,7 @@ private:
void createMenus();
void createActions();
void createToolBars();
- // int checkPassWordStrength(QString password);
+ int checkPassWordStrength();
KeyList *mKeyList;
QString mIconPath;
@@ -94,6 +96,7 @@ private:
QLabel *errorLabel;
QLabel *dateLabel;
QLabel *expireLabel;
+ QLabel *pwStrengthLabel;
QLineEdit *nameEdit;
QLineEdit *emailEdit;
QLineEdit *commentEdit;
@@ -102,6 +105,7 @@ private:
QSpinBox *keySizeSpinBox;
QDateTimeEdit *dateEdit;
QCheckBox *expireCheckBox;
+ QSlider *pwStrengthSlider;
};
#endif // __KEYMGMT_H__