Skip to content

sgillespie/gibberish

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

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

Gibberish

Build Status

Gibberish generates pronounceable passwords that are easy-to-remember and hard-to-guess. Gibberish can also generate pseudo english passphrases.

Prerequisites

In order to build or install you will need

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

Installing

Gibberish 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

Gibberish sources can be found

Building

In order to build or install you will need

Build gibberish:

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 gibberish to generate words in any Haskell code, so long as you have installed gibberish. 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

Acknowledgements

Gibberish is based on Tom Van Vleck's work on 3rd order approximation to english for generating passwords. Gibberish is based on his javascript generator.

LICENSE

Gibberish is licensed under the MIT license. Please see LICENSE for details