Git Product home page Git Product logo

password-meter's Introduction

Passmeter

A password meter evaluates the strength of passwords.

Table of Contents

Features

  • Offline, no worry about your password collected by certain evil web service
  • Simple and colorful output for better result analysis
  • Flexible to adjust password rules/requirements in script
  • Easy to be integrated into any CI processes because of CLI script

Dependency

$ pip install rich

Usage

usage: passmeter.py [-h] [-p PASSWORD] [-s] [-c]

optional arguments:
  -h, --help            show this help message and exit
  -p PASSWORD, --password PASSWORD
                        Password
  -s, --score-only      Only show score number as output
  -c, --complexity-only
                        Only show complexity text as output

Example

$ ./passmeter.py -p thisismypassword
Very Weak
Score: 15%
Complexity: Very Weak
+--------------------------------------------------------------+
|                               | Rate         | Count | Bonus |
|-------------------------------+--------------+-------+-------|
| Number of Characters          | +(n*4)       |    16 |   +64 |
| Uppercase Letters             | +((len-n)*2) |     0 |     0 |
| Lowercase Letters             | +((len-n)*2) |    16 |     0 |
| Numbers                       | +(n*4)       |     0 |     0 |
| Symbols                       | +(n*6)       |     0 |     0 |
| Middle Numbers of Symbols     | +(n*2)       |     0 |     0 |
| Requirements                  | +(n*2)       |     2 |     0 |
| Letters Only                  | -n           |    16 |   -16 |
| Numbers Only                  | -n           |     0 |     0 |
| Repeat Characters             | -?           |     6 |    -3 |
| Consecutive Uppercase Letters | -(n*2)       |     0 |     0 |
| Consecutive Lowercase Letters | -(n*2)       |    15 |   -30 |
| Consecutive Numbers           | -(n*2)       |     0 |     0 |
| Sequential Letters (3+)       | -(n*3)       |     0 |     0 |
| Sequential Numbers (3+)       | -(n*3)       |     0 |     0 |
| Sequential Symbols (3+)       | -(n*3)       |     0 |     0 |
+--------------------------------------------------------------+

Although -p exists as an option, it's recommended to avoid using it with your real password. The reason is that Shell commands including all paraders are logged in Shell command execution history, which might cause the trouble to expose your real password. Instead, run ./passmeter.py and enter password in prompt:

$ ./passmeter.py
Password:

Common password list

./passmeter.py checks password against ./commonpassword.list. Once the entered password is found in the list, all other checks will be aborted. The default integrated list is fetched from danielmiessler/SecLists. Feel free to customize ./commonpassword.list according to your needs, put any passwords in the list one per line.

$ ./passmeter.py -p 123456
Common password in ./commonpassword.list

Credits

The original code of this project is ported from web app Password Meter

One more thing

Want to generate very strong passwords? Check this project ๐Ÿ‘‰ passgen

password-meter's People

Contributors

kevcui avatar

Stargazers

 avatar  avatar  avatar

Watchers

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