Get secure, memorable passwords in exchange for Bitcoin

What is a diceware password?

Weak passwords are one of the most common flaws in computer security. And Diceware is probably the best method to create strong passwords that are easy to remember.

Quoting wikipedia:

Diceware is a method for creating passphrases, passwords, and other cryptographic variables using an ordinary dice as a hardware random number generator. For each word in the passphrase, five rolls of the dice are required. The numbers from 1 to 6 that come up in the rolls are assembled as a five-digit number, e.g. 43146. That number is then used to look up a word in a word list. In the English list 43146 corresponds to munch. By generating several words in sequence, a lengthy passphrase can be constructed.


Programmatically generated diceware passwords

And although the above will work for those with the sheer will and commitment to roll a dice anytime they want to fill in a signup form, what happens if you are a developer who wants to provide secure and memorable password suggestions to the users of your website?

Then look no further than my newly published 21_diceware bitcoin payable API.

How it works

The use of this Python API is rather straightforward: You make an HTTP request and receive a JSON string with a diceware password in exchange for a small amount of bitcoin. There is no signup required, and the only prerequisite to use this and many other APIs is to be part of the network with a copy of the 21 Python library installed.

To get a diceware password, run:

$ 21 buy 'http://[fcce:a977:ee7d:817b:3380:0000:0000:0001]:8000/make_password'

Then you will receive a JSON string of 5 (default) randomly generated words in the form of a dictionary.

    "password": [

To specify a password length, add the desirable number of words as an integer at the end of the URL, for example:

$ 21 buy 'http://[fcce:a977:ee7d:817b:3380:0000:0000:0001]:8000/make_password/11'

Maximum password length allowed is 16 words.