Giter Club home page Giter Club logo

password-meter-py's Introduction

Build Status License: MIT

Password-meter-py

Test the strength of your password or generate a strong one. Rate your password or generate a strong one.

  • Disclaimer:

This application is designed to assess the strength of password strings. And provides the user a means to improvethe strength of their passwords, with a hard focus on breaking the typical bad habits of faulty password formulation.

Since no official weighting system exists, we created our own formulas to assess the overall strength of a given password.

Please note, that this application does not utilize the typical "days-to-crack" approach for strength determination. We have found that particular system to be severely lacking and unreliable for real-world scenarios. This application is neither perfect nor foolproof, and should only be utilized as a loose guide in determining methods for improving the password creation process

Features:

  • A simple to use API for testing the strength of your password.
  • Generating strong passwords.

First install the dependencies with pip :

pip install -r requirements.txt

Usage example 1:

>>> from password_meter import Password
>>> password = Password('Azerty22')
>>> password.rate()

Usage example 2:

>>> from password_meter import Password
>>> from constants import *
>>> Password().find(8, spec=USE_PUNCTATIONS+USE_DIGITS)
# or this will return a new safe password and its score:
>>> my_password, my_score = Password().find(8, display=False)

TEST:

alt text

Code used for representation:

>>> from password_meter import Password
>>> from constants import *
>>> from matplotlib import pyplot as plt
>>> # find best password algorithm
>>> Password().find(12, spec=ALL, msg='spec=ALL')
>>> Password().find(12, spec=USE_LETTERS+USE_DIGITS, msg='spec=LETTERS + DIGITS')
>>> Password().find(12, spec=USE_LETTERS+USE_PUNCTATIONS, msg='spec=LETTERS + PUNCTATIONS')
>>> Password().find(12, spec=USE_DIGITS+USE_PUNCTATIONS, msg='spec=DIGITS + PUNCTATIONS')
>>>
>>> # graph to show passwords safety evolution with a certain number of tries.
>>> Password().drawGraph()

TODO:

  • add pytest file
  • let user choose if he wants include : digits / symbols ..etc.
  • add password strength infos text.
  • add improvement password suggestion in case of weak password.
  • add graph representation

password-meter-py's People

Contributors

layto888 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 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.