Git Product home page Git Product logo

password_validator's Introduction

Password Validator

build status of master

Background

NIST recently updated their Digital Identity Guidelines in June 2017. The new guidelines specify general rules for handling the security of user supplied passwords. Previously passwords were suggested to have certain composition rules (special characters, numbers, etc.), hints and expiration times. Those have gone out the window and the new suggestions are as follows: Passwords MUST

  1. Have an 8 character minimum
  2. AT LEAST 64 character maximum
  3. Only allow printable ASCII characters and spaces
  4. Not be a common password

Project

A program to detect if a password meets these requirements.

  1. Have at least 8 Character

  2. Can have 64 character maximum

  3. Allowed only ASCII characters

  4. Check not a common password

Program takes a file of newline delimited common passwords to check if a password is in that file and print invalid passwords to the command line and print * for any unprintable character

Requirement

OS - Linux

Software - Python 3.6+

Installation - Production

$ git clone https://github.com/AdityaMunot/password_validator.git
$ bash install.sh

Installation - Development

$ git clone https://github.com/AdityaMunot/password_validator.git

For use in Development:

  • Open install.sh

  • comment and uncomment the following way.

  • # production setup #
    # pip3 install .
    
    # development setup #
    pip3 install -e .

This will reduce the hassle of keep installing the cli tool.

$ bash install.sh

Usage

$ cat <path to input text file> | password_validator <path to common password text file>

Result

$ cat test_file/input_passwords.txt | password_validator test_file/weak_password_list.txt
mom -> Error: Too Short
password1 -> Error: Too common
Bj**rk****oacute* -> Error: Invalid Charaters
pipi -> Error: Too Short
**** -> Error: Invalid Charaters

Author

Managed by Aditya Munot

password_validator's People

Contributors

adityamunot avatar

Watchers

James Cloos avatar

Forkers

qaifmz

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.