diceware_utils

A collection of tools to make diceware passphrase conform with "password policy"


Keywords
password, leet, leetspeak, diceware, diceware-passphrase-generator, diceware-utils
License
MIT
Install
pip install diceware_utils==0.2.0

Documentation

Diceware Utilities

Build Status PyPI version shields.io PyPI license PyPI pyversions PyPI status

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.