wordpass-1.0.0.0: Dictionary-based password generator

Safe HaskellNone
LanguageHaskell2010

Text.WordPass

Contents

Description

Main module generating passwords.

Synopsis

Documentation

type WordSet = Set Text Source

Explanatory type alias for the type of wordlists during preprocessing.

type WordList = Vector Text Source

Explanatory type alias for immutable, preprocessed wordlist used by random number generator.

Reading inputs

resolveSymbolicLink :: FilePath -> IO FilePath Source

Try to resolve symbolic link chain for given filename.

readDict :: FilePath -> IO WordSet Source

Reads a dict format to get a list of unique words without any special chars.

dictFiles :: FilePath -> IO [FilePath] Source

Find all plausible dictionaries in a given directory

readDicts :: [FilePath] -> IO (Set Text) Source

Read a set of dictionaries and put the together.

readDictDir :: FilePath -> IO (Set Text) Source

Read all dictionaries from a given directory.

defaultDictionary :: FilePath Source

Filename for default dictionary (should be command line argument or default glob.)

randomPassword :: WordList -> Int -> RVar Text Source

Pick a random password, given a words list, and a number of words it will contain.

randomPasswordStrength :: Vector a -> Int -> Double Source

Estimate strength of random password with given inputs.

numSymbols :: Int Source

Number of characters within alphabet.

Random separators

randomSeparator :: RVar Text Source

Randomly pick a word separator as a two-digit number, or a symbol character.

randomNumericSeparator :: RVar Text Source

Two-digit number as a separator 10^2 = 6.6 bits of entropy.

(|||) :: (t -> Bool) -> (t -> Bool) -> t -> Bool Source

Conjunction of two unary predicates

symbolChars :: Vector Char Source

List of symbol and punctuation characters in ASCII Should be 5 bits of entropy

randomSymbolSeparator :: RVar Text Source

Text with random symbol character, 5 bits of entropy