Analyze passwords' memorizability and generate pronounceable words.
Project description
# Pronounceable
Generate a random pronounceable word using Python 3 and secrets module (falls back to random module if Python < 3.6).
Calculate password complexity based on pronounceablity. > 10.0 is probably too complex for human to remember.
## Usage
`pycon >>> from pronounceable import PronounceableWord, generate_word, Pronounceablity, Complexity >>> PronounceableWord().length(8, 15) 'terhtsadathe' >>> generate_word() 'gloust' >>> pr = Pronounceablity() >>> pr.syllable('terhtsadathe') 6 >>> pr.syllable('hello') 2 >>> pr.syllable('gloust') 4 >>> complexity = Complexity() >>> complexity.complexity('D7!rcc&umnsd') 5.401603904395188 >>> complexity.complexity('a4ILot#h') 4.71785657472491 >>> complexity.complexity('password') 1.0 >>> complexity.complexity('thisisabadpassword') 2.2220669581020354 >>> complexity.complexity('anejpwnrqpqzonijre') 4.71785657472491 `
## Based on
NLTK - CMUdict
## More on password
Human-readable password mnemonics – https://github.com/patarapolw/memorable-password
Security-side of password – https://github.com/patarapolw/passwordstrength
Adapting the humanized password to the computerized password policy - https://github.com/patarapolw/leetpass
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pronounceable-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d25e893edf6e338b0e97514c1421079b95b3cba15a3949de772e0a44f8bfec9 |
|
MD5 | 9a7a0ff5d9ba536e9fc01b59106f6c10 |
|
BLAKE2b-256 | d43decda2bdee1feae1be2794cc43b9efd90dd46cbf95627f21b15f52afaff8e |