Skip to content
🔒command line tool checking password safety🔒
Go
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows Create go.yml Mar 28, 2020
Images Add files via upload Mar 22, 2020
Known-pwds Add known-pwds Mar 23, 2020
Tests Add testcases Mar 28, 2020
Utils
.gitignore First Add Mar 14, 2020
README.md Update README.md Mar 29, 2020
eng_words_list.txt Generate random Mar 22, 2020
go.mod Add basic-rules Mar 21, 2020
go.sum Fix ReadInput error Mar 16, 2020
main.go Add 5 mln pwds Mar 23, 2020

README.md

🔒pwd-safety🔒

This is a command line tool that checks how much a password is safe.

This tool doesn't store any information!

gobadge

DESCRIPTION 🔦

Just write go run main.go in your terminal inside ../pwd-safety$

So: ../pwd-safety$ go run main.go

It reads from standard input the entered password.

First, it searches in known-pwd1.txt and known-pwd2.txt files if there is the password or the reverse password.

The calculation isn't immediate, It searches for over 5.2 million hacked passwords

Then, just do little calculations, checking if the basic rules are respected.

Like if there are UPPERCASE CHARS, lowercase chars, numb3rs and symbols.

It stores the length of the password and the ratio [ unique different chars / total chars].

It calculates then the entropy of a password.

Password entropy is a measurement of how unpredictable a password is.

The formula for entropy is: CodeCogsEqn

Where E = password entropy

R = pool of unique characters

L = number of characters in your password

Then R^L = the number of possible passwords and the log of it is the number of bits of entropy.

When the score <= 68(reasonable) it generates a random password using a list of all english words.

SCORING 💯

Max score: 100

Scores:

  • Very weak: 0 - 35
  • Weak: 36 - 59
  • Reasonable: 60 - 68
  • Strong: 69 - 80
  • Very strong: 81 -100

Scoring parameters:

  • Found in known password
  • Found in known password reversed
  • Password composition:
    • numbers
    • symbols
    • uppercase
    • lowercase
  • Unique different characters
  • Length
  • Entropy

SOME EXAMPLES 📊

veryWeak

weak

reasonable

strong

veryStrong

DOWNLOAD 📡

  • GIT command on prompt:

          git -clone https://github.com/edoardottt/pwd-safety.git
    
  • Download by Browser on:

https://github.com/edoardottt/pwd-safety

VERSIONING 📚

v0.1.1:

      - Added:
              - Generates random password when score <= REASONABLE
              - Errors code table

v0.1:

      - First pre-release

If you liked it drop a ⭐️

https://www.edoardoottavianelli.it for contact me.

                                  Edoardo Ottavianelli ©
You can’t perform that action at this time.