-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Generate easy-to-remember, hard-to-guess passwords -- -- Generates pronounceable, hard-to-guess passwords.. as hard as Vince -- Carter's knee cartilage is. @package elocrypt @version 0.3.2 -- | Generate a letter frequency trigraph, based on a dictionary module Data.Elocrypt.Trigraph -- | Search for the character frequencies based on the first a two-letter -- string findFrequency :: String -> Maybe [Rational] -- | A map of character frequencies, based on a dictionary. The key is a -- two-letter string, and the value is a list of probabilities (a-z). -- It's form is: -- --
--   [("aa", [2,0,3,0,0,0,1,0,0,0,0,1,1,1,0,0,0,3,2,0,0,0,0,0,0,0]),
--   ...
--    ("zz", [7,0,0,0,1,0,0,0,7,0,0,17,0,0,2,0,0,0,0,0,0,0,1,0,5,0])]
--   
frequencies :: [(String, [Rational])] -- | Generate easy-to-remember, hard-to-guess passwords module Data.Elocrypt -- | Generate a password using the generator g, returning the result and -- the updated generator. -- --
--   -- Generate a password of length 10 using the system generator
--   myGenPassword :: IO (String, StdGen)
--   myGenPassword = genPassword 10 `liftM` getStdGen
--   
--   
genPassword :: RandomGen g => Int -> g -> (String, g) -- | Plural version of genPassword. Generates an infinite list of passwords -- using the generator g, returning the result and the updated generator. -- --
--   -- Generate 10 passwords of length 10 using the system generator
--   myGenPasswords :: IO ([String], StdGen)
--   myGenPasswords = ((ls, g) -> (take 10 ls, g) liftM genPasswords 10 liftM getStdGen
--   
genPasswords :: RandomGen g => Int -> g -> ([String], g) -- | Generate a password using the generator g, returning the result. -- --
--   -- Generate a password of length 10 using the system generator
--   myNewPassword :: IO String
--   myNewPassword = newPassword 10 `liftM` getStdGen
--   
--   
newPassword :: RandomGen g => Int -> g -> String -- | Plural version of newPassword. Generates an infinite list of passwords -- using the generator g, returning the result -- --
--   -- Generate 10 passwords of length 10 using the system generator
--   myNewPasswords :: IO [String]
--   myNewPasswords = (take 10 . genPasswords 10) liftM getStdGen
--   
newPasswords :: RandomGen g => Int -> g -> [String] -- | Generate a password using the MonadRandom m. MonadRandom is exposed -- here for extra control. -- --
--   -- Generate a password of length 10 using the system generator
--   myPasswords :: IO String
--   myPasswords = evalRand (mkPassword 10) `liftM` getStdGen
--   
--   
mkPassword :: MonadRandom m => Int -> m String -- | Plural version of mkPassword. Generate an infinite list of passwords -- using the MonadRandom m. MonadRandom is exposed here for extra -- control. -- --
--   -- Generate an infinite list of passwords of length 10 using the system generator
--   myMkPasswords :: IO [String]
--   myMkPasswords = evalRand (mkPasswords 10) `liftM` getStdGen
--   
mkPasswords :: MonadRandom m => Int -> m [String] -- | The alphabet we sample random values from alphabet :: [Char] -- | Generate two random characters first2 :: MonadRandom m => m String -- | Generate a random character based on the previous two characters and -- their trigraph next :: MonadRandom m => String -> m Char -- | Generate the last n characters using previous two characters and their -- trigraph lastN :: MonadRandom m => String -> Int -> m String