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

[ cryptography, library, mit, program ] [ Propose Tags ] [ Report a vulnerability ]

Generates pronounceable passwords that are easy-to-remember and hard-to-guess.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 3.0.0.0
Dependencies aeson (>=2.2 && <2.3), aeson-pretty (>=0.8.10 && <0.9), base (>=4.16 && <4.20), bytestring (>=0.11 && <0.13), containers (>=0.6 && <0.7), deepseq (>=1.4 && <1.6), directory (>=1.3 && <1.4), filepath (>=1.4 && <1.5), gibberish, hedgehog (>=1.4 && <1.5), MonadRandom (>=0.6 && <0.7), mtl (>=2.3 && <2.4), optparse-applicative (>=0.18.1 && <0.19), random (>=1.2 && <1.3), text (>=1.2 && <2.2), text-show (>=3.10 && <3.11), transformers (>=0.6.1 && <0.7) [details]
License MIT
Author Sean D Gillespie
Maintainer sean@mistersg.net
Category Cryptography
Home page https://www.github.com/sgillespie/gibberish
Uploaded by sgillespie at 2024-03-26T02:41:20Z
Distributions
Executables gibber-gen-trigraph, gibber
Downloads 44 total (4 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2024-03-26 [all 1 reports]

Readme for gibberish-3.0.0.0

[back to package description]

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 Gibberish, you will need

  • GHC (tested on 9.6.2), or
  • Nix (tested on 2.18.1)

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 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