cpwd 1.4.1 — tiny and handy password manager
cpwd is simple, stateless password manager. You enter a master key and the name of an account (ex. "gmail"), wait a few seconds, and cpwd generates a password for that account ready in your clipboard. You can reuse the same master key for all your accounts, and cpwd will generate a different strong password for every account. Every time you want to log in, just launch cpwd and enter the same master key and account name. Simple! Useful!
- Memorize a single master key, but still get a different strong password for every account.
- Quick and easy command-line access.
- Copies password straight to clipboard then clears clipboard automatically in 15 seconds.
- Doesn't store anything: no password databases to manage.
cpwd [-r] [%account_name%], ex.
cpwd -r reddit. Adding
-rallows you to run cpwd in registration mode where you need to enter master key twice to avoid errors. It's very useful when you're registering or changing password somewhere. Adding
%account_name%allows you to skip entering account name in dialog mode.
- Enter your master key (hidden, same for all accounts).
- In a few seconds, your password for that account is in your clipboard. Clipboard is cleared automatically after 15 seconds for security.
- Weak master key ruins everything. Your master key should have at least 8 characters, contain lowercase and uppercase letters, numbers and special symbols.
- Key derivation is done with scrypt, account name acts as salt. Parameters: N = 217 = 131072, r = 8, p = 1, L = 16. Generated passwords contain 32 symbols from 0123456789abcdef set.
- Account names are lowercased automatically for usability. "GitHub" == "github".
- Linux (tested)
- Mac OS X, OpenBSD and other UNIXes (not tested, but probably supported)
- Windows and other OSes (you may need to do some porting work)
git clone https://github.com/postboy/cpwd.gitto download repository.
- Build cpwd. On *nix systems with GCC you can do it via running
- Linux/OpenBSD only: install
xclippackage for working with clipboard (you can use
xselpackage aswell, just edit the main.c for a bit).
Tips on cpwd launching speed-up
- On *nix: add a lines
alias r='/path/to/./cpwd -r'in your
.bashrcfile for adding two commands to your shell:
pthat launches cpwd in normal mode and
rthat launches cpwd in registration mode.
- On Windows: for faster launching cpwd via
rcommands in cmd you can create two batch scripts in some directory that's shown as result of
pathcommand in cmd:
p.batcontaining a line
@echo off && call "C:\path\to\cpwd.exe"and
r.batcontaining a line
@echo off && call "C:\path\to\cpwd.exe -r".
Tips on cpwd computing speed-up
- Check if your processor supports SSE (on *nix just run
grep sse /proc/cpuinfoto do it). If it does, compile against crypto_scrypt-sse.c instead of crypto_scrypt-nosse.c (and if you use GCC, add a flag
- Enable optimization in your compiler. If you use GCC, you can do it with flags
-march=native(compile just for current processor) plus
-O3(not recommended). Test them all and use the best for you.
- cpwd version 2.
- My posts in Russian about first and second versions of this project.
- npwd — imagine cpwd with very easy installation, but maybe not that fast work :)
- jkalbhenn's password manager is essentialy the same project, but started more than two years before this.
- kyle is a similar project, but started about 1.5 years before this.
- Password Multiplier using iterated hashing, 2005.
- PwdHash using hashing and is much less secure, 2005.
- Usability study and critique of PwdHash and Password Multiplier.
- Janus Personalized Web Anonymizer, 1997, and it's successor, Lucent Personalized Web Assistant, 1998, both using hashing, are early examples of such password manager.
- Password manager without a password manager that was broken, 2012.
cpwd itself is licensed under GPL v3, but uses parts of scrypt 1.1.6 licensed under BSD 2-Clause and GCC Poison which is public domain. Commands for working with clipboard are taken from node-copy-paste.
Zuboff Ivan // anotherdiskmag on gooooooogle mail