back to home

dmuth / diceware

Generate secure passwords you can actually remember!

View on GitHub
274 stars
57 forks
16 issues
JavaScriptHTMLPHP

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing dmuth/diceware in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/dmuth/diceware)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

Diceware Feel free to check out the live version at https://diceware.dmuth.org/ 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: • The Diceware Passphrase FAQ • Diceware word list • Diceware for Passphrase Generation and Other Cryptographic Applications Can I run this on my own computer without using your website? Yes! Go to https://github.com/dmuth/diceware/releases and download the latest file. When you unzip that file, the contents will be written to a directory called . You can then point a webserver on your machine to in order to use Diceware. Sadly, you cannot open directly, as the CORS policy in Chrome prevents that. If you know of a way to fix that, please open an issue. :-) Will this work in an air-gapped environment? Yes, copies of assets such as Bootstrap and jQuery have been made, and Diceware is designed to be run without requiring an Internet connection. Development This app is built with Webpack. When done editing , the packed file can be built by simply running on the command line. It will be writing to . To run webpack in a mode so that it regularly checks for changed files, run . 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. A local webserver can be set up by running to install it, then to listen on In Summary • Development • Testing • Deployment In Practice Releasing a New Build • to create the ZIP file with all assets in it, including and the contents of . • to upload a release to https://github.com/dmuth/diceware/releases. • Change the tag for the version number accordingly. • to upload the ZIP file containing everything Development In Docker Wanna develop in Docker? We got you covered. Here are some helper scripts: • - Build the Docker copntainer • - Run in dev mode--listening on http://localhost:8000/ • - Run in prod mode--listening on http://localhost:80/ • - Push to Docker Hub Help Wanted I'm not much of a front-end dev these days, and my Javascript code is a little... unwieldly. If you have a solid understanding of front-end Javascript coding, and have any suggestions on how I can better architect things, feel free to give me a shout! 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: • Email to **doug.muth AT gmail DOT com** or **dmuth AT dmuth DOT org** • Bluesky • LinkedIn Feel free to reach out to me if you have any comments, suggestions, or bug reports.