Skip to content

srhea/passwords

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

passwords - an embarrassingly simple password safe

Highlights:

  - Functional: stores all your passwords in a single, encrypted file
  - Secure: 256-bit AES encryption
  - Verifiable: less than 300 lines of Scala code
  - Durable: backup ~/.passwords with Dropbox, or email, or whatever
  - Free: MIT license

The goal of this program is to be moderately more user friendly than storing
passwords in a plain text file encrypted with GnuPG, while at the same time
being short and simple enough that any competent programmer can convince
themselves of its correctness in under 30 minutes.

Example usage:

  $ passwords
  > help
  Commands:
    generate [length]
    add <url> <username>
    remove <url> <username>
    list
    search <search string>
    merge <other file>

  > generate
  g9mYO:=[

  > add https://www.mint.com/ johndoe
  No existing passwords database.
  Enter a master password:
  Confirm master password:
  Password: <copy/paste "g9mYO:=[" from above>

  > search mint
  https://www.mint.com/ johndoe g9mYO:=[

  > remove https://www.mint.com/ johndoe
  Really remove this entry? (Y/N): y

  > quit

Installation instructions for MacPorts/Debian/Ubuntu:

  1. Download and install git and sbt:

     apt-get install git sbt   # Debian/Ubuntu
     port install git sbt      # MacPorts

  2. Download and install this program:

     mkdir -p ~/src
     cd ~/src
     git clone git://github.com/srhea/passwords.git
     cd passwords
     sbt compile
     export PATH=$PATH:$HOME/src/passwords/bin

Notes:

I wrote passwords in Scala because of the languages I know well, Scala
produces shorter, more readable code than C++, and I trust Scala's
cryptographic primitives more than those in Ruby.

If you're using Java 7 and getting mysterious errors, you may need to download
the "Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy
Files". You can find those files and instructions on how to install them here:

  http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

On Mac OSX, JAVA_HOME is a little wierd.  To install the unlimited strength
cryptography extensions on OSX, unzip the file downloaded from the link above,
cd into the unzipped directory, and then run this command

  sudo mv *.jar `/usr/libexec/java_home`/jre/lib/security/

Enjoy!

About

an embarrasingly simple password safe

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published