aboutsummaryrefslogtreecommitdiff
path: root/src/libwalletqt/WalletManager.cpp
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2016-12-20 17:51:27 +0200
committerRiccardo Spagni <ric@spagni.net>2016-12-20 17:51:27 +0200
commitd1b240fca73513c702e950e6eeec5e2569c3a4af (patch)
tree8c29322dfea7e53130b21b4e404726ec6cc6ccae /src/libwalletqt/WalletManager.cpp
parent1b9981b35febb706073b26e539fa601c40d8b5f7 (diff)
parent9be29eba58ab70f66bfd4feb07df28d4e76b5d16 (diff)
downloadmonzero-gui-d1b240fca73513c702e950e6eeec5e2569c3a4af.tar.gz
monzero-gui-d1b240fca73513c702e950e6eeec5e2569c3a4af.tar.xz
monzero-gui-d1b240fca73513c702e950e6eeec5e2569c3a4af.zip
Merge pull request #292
9be29eb zxcvbn: build tweaks to work on other platforms (moneromooo.monero) 03c15af Don't claim a password is "medium" too easily (moneromooo.monero) fbe19d2 Use zxcvbn for password strength estimation (moneromooo.monero) b882de8 add zxcvbn to the qmake build system (moneromooo.monero) aae35df zxcvbn-c: new module for password strength estimation (moneromooo.monero)
Diffstat (limited to 'src/libwalletqt/WalletManager.cpp')
-rw-r--r--src/libwalletqt/WalletManager.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp
index 0ff8d74d..64e9a1db 100644
--- a/src/libwalletqt/WalletManager.cpp
+++ b/src/libwalletqt/WalletManager.cpp
@@ -1,6 +1,7 @@
#include "WalletManager.h"
#include "Wallet.h"
#include "wallet/wallet2_api.h"
+#include "zxcvbn-c/zxcvbn.h"
#include <QFile>
#include <QFileInfo>
#include <QDir>
@@ -241,6 +242,21 @@ QUrl WalletManager::localPathToUrl(const QString &path) const
return QUrl::fromLocalFile(path);
}
+double WalletManager::getPasswordStrength(const QString &password) const
+{
+ static const char *local_dict[] = {
+ "monero", "fluffypony", NULL
+ };
+
+ if (!ZxcvbnInit("zxcvbn.dict")) {
+ fprintf(stderr, "Failed to open zxcvbn.dict\n");
+ return 0.0;
+ }
+ double e = ZxcvbnMatch(password.toStdString().c_str(), local_dict, NULL);
+ ZxcvbnUnInit();
+ return e;
+}
+
WalletManager::WalletManager(QObject *parent) : QObject(parent)
{
m_pimpl = Monero::WalletManagerFactory::getWalletManager();