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
>>> 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
- https://github.com/greghaskins/gibberish
- https://github.com/ricardofalasca/passpro-generator
- 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
pronounceable-0.1.2.tar.gz
(45.4 kB
view hashes)
Built Distribution
Close
Hashes for pronounceable-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 944069375b4f9ce12636ec501498f23223c01b03f1e9e27e9ca9261ec3f885fa |
|
MD5 | 064929bb2a0a3891daacf04ad0a39bf1 |
|
BLAKE2b-256 | 948cdb262294ddd6745d79b55e7643263d1238e6330fbeab75eb3332da13254f |