Generate easy-to-remember, hard-to-guess passwords.
Gibberish
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 Gibberish, you will need
Installing
Gibberish is on Hackage. The gibber
executable can be installed with cabal-install:
cabal install gibberish
Building
The gibber
executable can be built with cabal-install:
cabal build
On Nix, the it can be built with:
nix build
Running
Genarate a list of passwords:
gibber <length>
Generate random phrases (1 per line):
gibber --passphrases <min-length> <max-length>
To see all available options:
gibber --help
API Documentation
The full API documentation is on hackage at https://hackage.haskell.org/package/gibberish/docs. The documentation can also be built with:
cabal haddock
API Example
Gibberish can be used to generate words or phrases in Haskell code. For example: generate a word by using Data.Gibberish
:
import Data.Gibberish
import Data.Text (Text ())
...
-- Generate a word of length 10
fooGen :: IO Text
fooGen = do
gen <- getStdGen
trigraph <- loadTrigraph English
let opts =
GenPasswordOpts
{ woptsCapitals = False,
woptsDigits = False,
woptsSpecials = False,
woptsTrigraph = trigraph,
woptsLength = 10
}
let (word, _) = usingPass gen (genPassword opts)
pure (unWord word)
Authors
Sean Gillespie [email protected]
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.