Generate secure passwords you can actually remember!
Find a file
2017-11-09 22:06:03 -05:00
dist Oh hey, I just discovered --optimize-minimize. I'm okay with cutting the size of my bundled Javascript in half! 2017-11-09 19:19:15 -05:00
src Tweaked how some errors were returned so that the functions could be unit tested. 2017-11-09 22:05:35 -05:00
tests Removed unused Qunit stuff. 2017-11-09 21:44:57 -05:00
wordlist Added EFF wordlist, and updated PHP script and shell script to generate it. 2017-07-09 13:36:42 -04:00
.gitignore Added webpack 2017-11-08 21:17:55 -05:00
dice.css
dice.jpg Added dice graphic 2015-11-10 23:50:30 -05:00
dude-chill-just-chill.gif Updated chill. 2017-07-09 13:39:10 -04:00
favicon.ico Added a favicon 2015-11-10 23:41:21 -05:00
index.html Added in random-number-csprng, which required using Bluebird and Promisfying a *whole* bunch of code. 2017-11-08 23:27:42 -05:00
LICENSE
package-lock.json Added Mocha and should. 2017-11-09 22:06:03 -05:00
package.json Added Mocha and should. 2017-11-09 22:06:03 -05:00
README.md Added development section. 2017-11-08 23:44:16 -05:00
starter-template.css
webpack.config.js Moved main.js into src/index.js 2017-11-09 19:43:36 -05:00

Diceware

First, feel free to check out the live demo, running at https://www.dmuth.org/diceware/

Weak passwords are a big flaw in computer security due to a lack of "entropy" or randomness. For example, how many times have you used the name of a pet or relative or street in a password, or perhaps the number "1". Not very random, is it? :-) Worse still, if passwords are reused between services, that increases your security risk.

Fact is, humans are terrible at remembering random combiations of letters and numbers, but we are great at remembering phrases of words. That's where Diceware comes in.

Diceware is based on the proposal at http://world.std.com/~reinhold/diceware.html wherein virtual dice are roled 5 times, and the 5 digit number used against a lookup table of words. 4 dice rolls gives you 4 random words which are easy for a human being to remember, yet have a high amount of entropy which makes them hard to crack.

For more information on Diceware:

Can I run this on my own computer without using your website?

Yes. Feel free to clone this repo with git clone https://github.com/dmuth/diceware.git and run it from a local directory on your computer.

You can also set up a webserver on Mac/Linux boxes by running python -m SimpleHTTPServer 8000. You will then able to access DiceWare at http://localhost:8000/.

Will this work on an iPhone?

Yep! It should work on any mobile phone or tablet that supports Javascript, but I have only tested it on an iPhone 5S at this time.

Development

This app is built with Webpack.

When done editing main.js, the packed file can be built by simply running webpack on the command line. It will be writting to dist/bundle.js.

In a move that departs from Best Practices, I have made the decision to include the packed file in Git. My reason for this is that the software will be ready to run as soon as it is checked out (or a ZIP is downloaded), and that is a key design feature of this app--I want it to be as easy to get up and running as possible.

Who built this? / Contact

My name is Douglas Muth, and I am a software engineer in Philadelphia, PA.

There are several ways to get in touch with me:

Feel free to reach out to me if you have any comments, suggestions, or bug reports.