Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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

About

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

Resources

License

Packages

No packages published
You can’t perform that action at this time.