Skip to content

About

πŸ›‘οΈ Java-based Diceware password generator for secure and easy-to-remember passwords.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” Password Generator – Multi-Word Diceware Passwords 🎲

Screenshot_1.png

A secure, multi-word password generator built in Java, inspired by the Diceware method.
This project was created as a personal learning exercise in Java development, focusing on modular design, user input handling, and clean separation of concerns between logic and UI.


Table of Contents πŸ“‘


Screenshot_2.png


Overview

🎯 High-entropy, multi-word password generation using the Diceware methodology.

This project generates secure passwords composed of multiple words selected from a Diceware word list. Each word is generated by simulating the roll of five dice, producing passwords that are both secure and memorable.

The generator includes:

  • πŸ’» User-friendly command-line interface
  • βœ… Input validation for number of words
  • ⏱️ Step-by-step generation with optional delays (learning-oriented)
  • 🧠 Encouragement to create mnemonic stories for memorization

Inspiration

πŸ’‘ Real-world security concepts applied through hands-on Java development.

The idea for this project came while watching a video by Bruno Fraga:
Crie a SENHA MAIS SEGURA do mundo

The goal was to automate the Diceware process, transforming a manual security practice into a clean, testable, and reusable Java application.


Features

✨ Focused on security, clarity, and learning.

  • πŸ”‘ Generates passwords with a configurable number of words
  • 🎲 Uses SecureRandom for cryptographically strong dice rolls
  • πŸ‘€ Displays dice rolls and word mapping (educational, optional)
  • ⚑ Lightweight Java console application
  • πŸ›‘οΈ Encourages secure password creation practices

πŸ’‘ Tip: For higher security, use more than three words and build a short mnemonic story.


Technical Details

πŸ› οΈ Java-focused design with clear separation of concerns.

  • Language: Java 17+
  • Application Type: Console-based

Main Components

  • PasswordGenerator – application entry point and execution loop
  • Paorsswd – password generation and dice roll logic
  • DicewareRepository – loads and maps the Diceware word list
  • ConsoleUI – handles user input, menus, validation, and delays

Design Decisions

  • πŸ”Ή Clear separation between UI and business logic
  • πŸ”Ή Encapsulated input handling and sleep logic for readability
  • πŸ”Ή Secure random number generation via SecureRandom
  • πŸ”Ή Input validation to prevent invalid or unsafe configurations

Diceware Word List

πŸ“œ Based on the official Diceware word list (7,776 words).

Each line contains a five-digit dice key followed by its corresponding word.

This project uses the list strictly for educational purposes.
All credits belong to the original Diceware authors.


Credits

πŸ™ Acknowledgements and references.

  • Diceware concept: Arnold G. Reinhold
  • Word list: Diceware / ThoughtWorks repository
  • Java implementation: Rayssa Reis

About

πŸ›‘οΈ Java-based Diceware password generator for secure and easy-to-remember passwords.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages