qMasterPassword is a password manager based on Qt. Access all your passwords using only a single master password. But in contrast to other managers it does not store any passwords: Unique passwords are generated from the master password and a site name. This means you automatically get different passwords for each account and there is no password file that can be lost or get stolen. There is also no need to trust any online password service.
See this introduction page to get more familiar with the concept and reasons why to use it.
The algorithm is described here.
The Spectre home page also contains other compatible software for various platforms, like Android or iOS.
qMasterPassword is developed on Linux and also tested on Windows. For Windows there are prebuilt binaries under releases.
-
Qt 5.2 or higher (see branch qt4.8 for older Qt version support)
-
cmake, make or ninja
-
OpenSSL (libcrypto library)
-
Linux/OSX: libscrypt library
On Debian/Ubuntu, it is available as
libscrypt-dev
.On RedHat/Fedora, it is available as
libscrypt-devel
. -
Windows: scrypt-windows has been added as a git submodule.
You need to add
--recurse-submodules
to thegit clone
command line. -
Linux: libX11 libXtst
cmake [-GNinja] -B build .
cmake --build build
./build/qMasterPassword
Add -GNinja
if you want to build with ninja
instead of make
.
Keyboard: When the list view has focus:
- [Y] / [Space] / [Ctrl]+[C]: copy password of selected entry to clipboard
- [U]: Copy login/user name of selected entry to clipboard
- [P] / [Ctrl]+[V]: switch to next window and fill out username and password
- [SHIFT] + [P]: switch to next window and fill out password
- [O]: Open Url
- [/]: focus the filter input
- [J] / [K]: Select next/previous item
For development, install the pre-commit scripts:
pre-commit install
cmake [-GNinja] -DCMAKE_BUILD_TYPE=Debug -B build .
cmake --build build --target test
Add -GNinja
if you want to build with ninja
instead of make
.
If you have any improvements or suggestions you are welcome to implement them and/or contact me.