Git Product home page Git Product logo

password_generator's Introduction

WordOtter

WordOtter is a secure and user-friendly password generator that creates strong passphrases using a list of words. The project aims to provide an easy-to-use tool for generating memorable yet secure passwords.

Why "WordOtter"?

The name "WordOtter" was chosen because otters are playful and intelligent animals, which reflects the nature of this password generator. Otters are known for their dexterity and problem-solving skills, symbolizing the efficiency and effectiveness of WordOtter in creating secure passphrases. Additionally, the playful aspect of otters makes the tool seem approachable and fun to use.

Features

  • Generates strong passphrases using a list of words
  • User-friendly and approachable interface
  • Secure and robust password generation
  • Customizable options for passphrase length and complexity

Installation

To install WordOtter, you need to have Rust and Cargo installed on your system. You can install Rust and Cargo by following the instructions at rust-lang.org.

Clone the repository and navigate to the project directory:

git clone https://github.com/Schuwi/word_otter.git
cd word_otter

Build the project using Cargo:

cargo build --release

Obtaining a word list

WordOtter requires a list of words to generate passphrases. Currently no word list is provided with the project. You can use your own word list or download one from the internet. There are many word lists available online, such as the EFF wordlists.

A python script is provided to generate a word list from a Wiktrionary dump. You can find the script in the scripts directory. For more information on how to use the script, refer to the README.md file in the scripts directory.

Usage

After building the project, you can show the help message with the following command:

cargo run --release -- -h

You need to provide a word list as a file. By default the program will look for wordliste.txt in the current directory.
The format is quite simple. It's just a list of words separated by line breaks.

You can customize the passphrase generation by providing additional options. For example, to generate a passphrase with a specific number of words:

cargo run --release -- 5

Dependencies

WordOtter uses the following dependencies:

  • clap for command-line argument parsing
  • color-eyre for enhanced error reporting
  • rand for random number generation
  • regex for regular expression support
  • rug or dashu for arbitrary precision arithmetic
  • unicode-normalization for Unicode normalization

TODO

  • Make script to generate word list from Wiktionary dump user-friendly
    • Add support for more languages in the word list generation script (help wanted)
    • Improve parsing and rendering of Wiktionary markup (help wanted)
  • Print meaning of words if .json file is provided
  • Support compilation to WebAssembly for use in the browser
    • Replace rug with dashu for WebAssembly compatibility
    • Refactor code to provide a programmatic API
  • Fix some bugs in the Wiktionary word list generation script
  • Add CI build pipeline

Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue if you have any suggestions or improvements.


Enjoy using WordOtter and stay secure!

password_generator's People

Contributors

schuwi avatar

Stargazers

Max avatar

Watchers

 avatar Max avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.