pwstore-cli: Command line interface for the pwstore library

[ console, cryptography, gpl, program ] [ Propose Tags ]
Versions 0.1, 0.2, 0.3, 0.4
Change log
Dependencies base (<5), bytestring, cmdargs (>=0.7 && <1.0), pwstore‑fast (>=2.2 && <3.0), pwstore‑purehaskell (>=2.0 && <3.0), text [details]
License GPL-3.0-only
Author Robert Helgesson
Category Cryptography, Console
Home page
Bug tracker
Source repo head: darcs get
Uploaded by RobertHelgesson at Mon Nov 12 16:47:37 UTC 2012
Distributions NixOS:0.4
Executables pwstore
Downloads 1494 total (12 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2016-12-23 [all 8 reports]
Hackage Matrix CI

This program provides a command line interface for Peter Scott's pwstore library. Specifically, it is possible to generate, validate, and strengthen passwords hashed in the pwstore format.

[Skip to Readme]



Depend on pwstore-fast rather than pwstore-purehaskell


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for pwstore-cli-0.4

[back to package description]



This is a simple command line interface to Peter Scott's pwstore library. It allows

  • generation of password hashes from a given password;
  • verification that a given password hash match a given password; and
  • strengthening a given password hash.

Building and Installing

In most cases you can build and install this program using the regular cabal commands

$ cabal configure
$ cabal build
$ cabal install

Alternatively, if you wish to build the program such that it uses pwstore-purehaskell, rather than pwstore-fast then disable the "fast" flag. That is, change the configure command to

$ cabal configure -f '-fast'


This is an example shell session running a few variants of the pwstore command.

$ pwstore
Repeat password:
$ pwstore <<<hunter2
$ pwstore verify 'sha256|12|nFXB28V2In4jg3XT7FnREw==|MQP6yr9RcyRm7J72dtruzseBfQFC31WKQWRxY225KWo=' <<<hunter2
good password
$ pwstore verify 'sha256|12|nFXB28V2In4jg3XT7FnREw==|MQP6yr9RcyRm7J72dtruzseBfQFC31WKQWRxY225KWo=' <<<hello
bad password
$ pwstore strengthen -s 13 'sha256|12|nFXB28V2In4jg3XT7FnREw==|MQP6yr9RcyRm7J72dtruzseBfQFC31WKQWRxY225KWo='
$ pwstore verify 'sha256|12|nFXB28V2In4jg3XT7FnREw==|MQP6yr9RcyRm7J72dtruzseBfQFC31WKQWRxY225KWo=' <<<hello
bad password
$ pwstore verify 'sha256|13|nFXB28V2In4jg3XT7FnREw==|vkeWCO9CA1ZPlInaoLlR4Ei5c+Y6EVLZdi5ucrQED5g=' <<<hunter2
good password