elocrypt: Generate easy-to-remember, hard-to-guess passwords

[ cryptography, library, program ] [ Propose Tags ]

Generates pronounceable, hard-to-guess passwords--as hard as Vince Carter's knee cartilage is.


[Skip to Readme]
Versions [faq] 0.3.0, 0.3.1, 0.3.2, 0.4.0, 0.4.1, 0.6.0, 1.0.0, 2.0.0, 2.0.1, 2.1.0
Dependencies base (>=4.7 && <5), containers, elocrypt, MonadRandom, random [details]
License LicenseRef-OtherLicense
Copyright Copyright: (c) 2017 Sean Gillespie
Author Sean Gillespie
Maintainer sean@mistersg.net
Revised Revision 1 made by sgillespie at Mon Dec 16 02:00:04 UTC 2019
Category Cryptography
Home page https://www.github.com/sgillespie/elocrypt
Source repo head: git clone https://github.com/sgillespie/elocrypt.git
this: git clone https://github.com/sgillespie/elocrypt.git(tag v2.1.0)
Uploaded by sgillespie at Mon Dec 16 01:42:29 UTC 2019
Distributions NixOS:2.1.0
Executables elocrypt
Downloads 4505 total (329 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2019-12-16 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for elocrypt-2.1.0

[back to package description]

Elocrypt

Build Status

Elocrypt generates pronounceable, easy-to-remember, hard-to-guess passwords... as hard as Vince Carter's knee cartilage is. Elocrypt includes a Haskell library and program.

Prerequisites

In order to build or install you will need

  • GHC (tested on 8.6.5)
  • Stack (tested on 2.1.3.1)

Installing

Elocrypt is on Hackage. Installation is as easy as:

cabal install elocrypt

Binaries are also available:

Running

Generate a list passwords:

elocrypt [length]

You can also generate random phrases (1 per line):

elocrypt --passphrases [min-length] [max-length]

Obtaining the source

Elocrypt sources can be found

Building

In order to build or install you will need

Build elocrypt:

stack setup
stack build

Then, install (if desired):

stack install

API Documentation

The full API documentation is on hackage @ https://hackage.haskell.org/package/elocrypt/docs. To build the documentation yourself, run

stack haddock

API Examples

You can use elocrypt to generate words in any Haskell code, so long as you have installed elocrypt. Generate a word by using Data.Elocrypt.newPassword

import Data.Elocrypt
...
-- Generate a word of length 10
fooGen :: IO String
fooGen = newPassword 10 `liftM` getStdGen

Alternatively, you can use Data.Elocrypt.mkPassword if you want to complete control of the random monad

import Data.Elocrypt
import Control.Monad.Random
...
-- Generate a word of length 10
fooGen' :: IO String
fooGen' = evalRand (mkPassword 10) `liftM` getStdGen

Authors

Sean Gillespie sean@mistersg.net

Credits

Thanks to Tom Van Vleck for creating a 3rd order english approximation password generator. Elocrypt is based on his javascript generator @ http://www.multicians.org/thvv/gpw-js.html

Copying

You can use this source for any reason, provided that you:

Please see LICENSE for all details