A collection of tools to make diceware passphrase conform with "password policy"
Project description
Diceware Utilities
A collection of tools to make diceware passphrase conform with "password policy"
Update
- (2017.05.22) Allow "weak" password generation.
>>> from diceware_utils.generate import GeneratePassword
>>> GeneratePassword().generate(weak=True)
'+"75ImposeRompSudoku'
Installation
pip install diceware_utils
or
pipenv install -e git+https://github.com/patarapolw/diceware_utils.git#egg=diceware_utils
Usage
>>> from diceware_utils.policy import Conformize
>>> conformize = Conformize()
>>> conformize.conformize(['unlikely', 'piezo', 'electric', 'grounds'])
';U$Piezo33lGrounds'
>>> conformize.update_policy(new_policy)
>>> from diceware_utils.wordlist import Wordlist
>>> Wordlist().get_random_word()
'ladybug'
>>> from diceware_utils.generate import GeneratePassword
>>> GeneratePassword().generate()
',Ab17HaRLanky-RoyalS'
Adapting to the policy of your choice
- Policy is now updateable. It is of format:
both_upper_and_lower: true
digit_count: 2
punctuation_count: 2
length:
min: 10
max: 20
Database sources
leetspeak.yaml
, policy.yaml
and Conformization algorithm are original. Wordlists are taken from pwgen-passphrase, which belongs to the respective authors.
Main wordlist to generate the password is eff-long.txt
, which is from Electronic Frontier Foundation.
Another interesting wordlist in this series is aspell-en.txt
which is maintained by Kevin Atkinson. I exported these two files to the Android app below.
The idea of diceware password is from https://xkcd.com/936/.
Web demo
http://diceware-utils.herokuapp.com
Mobile application
Please see Keepass DX - memorable password -- an Android password manager with this generator.
I might plan to create a dedicated app for this password generator (probably without manager), because of the relatively slow start-up time of the SentenceMaker.
Related projects
- randomsentence - a random sentence maker based on a list of keywords.
Project details
Release history Release notifications | RSS feed
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 diceware_utils-0.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da500f60f8fe2c4e016996e9017ead833a12061ede182e6c4858edafec7aebb5 |
|
MD5 | 77237ac66f2e241b3af824c5ba333933 |
|
BLAKE2b-256 | 027b7c2704437cbb9c59016506d63080350948892a372a94f41451fc4ae8a350 |