Gibberish generates pronounceable passwords that are easy-to-remember and hard-to-guess. Gibberish can also generate pseudo english passphrases.
In order to build Gibberish, you will need
Gibberish is on Hackage. The gibber
executable can be installed with cabal-install:
cabal install gibberish
Alternatively, binary distributions are available for x86_64 linux and windows:
Unfortunately I don't have access to macOS or aarch64. If you can help me build binaries for those platforms, please open an issue!
The gibber
executable can be built with cabal-install:
cabal build
On Nix, the it can be built with:
nix build
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
The full API documentation is on hackage at https://hackage.haskell.org/package/gibberish/docs. The documentation can also be built with:
cabal haddock
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)
Sean Gillespie sean@mistersg.net
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.
Gibberish is licensed under the MIT license. Please see LICENSE for details