Git Product home page Git Product logo

meaningful-passwords's Introduction

Meaningful passwords

This tool generates passwords based on the meanings of a list of words using word vectors

This blogpost explains more about how it works.

Quickstart

Install dependencies and generate your first password, using the default dictionary

$ pip install -r requirements.txt
$ python password_generator.py
70-iNspire-unSelfish-Benefits

Generating multiple passwords

To create multiple passwords use

$ python password_generator.py -p 10

Advanced usage

Creating a custom dictionary

How it works

In the file context.json there are a couple of lists:

  • Each word in wordlist is combined with the words in similar and negative. This creates an offset in the meaning of the generated words.
  • Then for each word in wordlist a given amount of similar words is found. This can be specified with the -a argument

So each found 'synonym' will have an offset in meaning closer to similar and further from negative. This means that the words in similar and negative influence every entry of your dictionary.

The default dictionary is generated with 200 'synonyms' per word.

Let's generate the dictionary!

Adjust context.json to your liking, you will probably have to tune it a couple of times.

For testing purposes you can use a smaller dictionary and model and print 10 passwords:

$ python password_generator.py -g -a 30 -l 3 -h 10 -m glove-wiki-gigaword-50 -p 10

This should take around 20 seconds

When your passwords are starting to look nice, generate a larger dictionary with

$ python password_generator.py -g

Replace '10' with the desired amount of passwords

Other options

To see all available options and their meanings run:

$ python password_generator.py -h

This prints the contents of the help file

meaningful-passwords's People

Contributors

jopdorp 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.