Home

Awesome

<p align="center"> <!-- logo --> <img src="https://github.com/edoardottt/images/blob/main/pwdsafety/logo.jpg"><br> <b>Command line tool that checks how much a password is safe</b><br> <sub> Coded with 💙 by edoardottt. </sub> </p> <!-- badges --> <p align="center"> <!-- mainteinance --> <a href="https://edoardottt.com/"> <img src="https://img.shields.io/badge/Maintained%3F-yes-green.svg" alt="Mainteinance yes" /> </a> <!-- pr-welcome --> <a href="https://edoardottt.com/"> <img src="https://github.com/edoardottt/READMENATOR/blob/master/images/pr-welcome.svg" alt="pr-welcome" /> </a> <!-- ask-me-anything --> <a href="https://edoardottt.com/"> <img src="https://github.com/edoardottt/READMENATOR/blob/master/images/ask-me-anything.svg" alt="ask me anything" /> </a> <!-- go-report-card --> <a href="https://goreportcard.com/report/github.com/edoardottt/pwdsafety"> <img src="https://goreportcard.com/badge/github.com/edoardottt/pwdsafety" alt="go-report-card" /> </a> <br> <!-- workflows --> <a href="https://github.com/edoardottt/pwdsafety/actions"> <img src="https://github.com/edoardottt/pwdsafety/actions/workflows/go.yml/badge.svg" alt="workflows" /> </a> <!-- ubuntu-build --> <a href="https://edoardottt.com/"> <img src="https://github.com/edoardottt/images/blob/main/pwdsafety/ubuntu-build.svg" alt="ubuntu-build" /> </a> <!-- license GPLv3.0 --> <a href="https://github.com/edoardottt/READMENATOR/blob/master/LICENSE"> <img src="https://github.com/edoardottt/READMENATOR/blob/master/images/license-GPL3.svg" alt="license-GPL3" /> </a> </p> <p align="center"> <a href="#get-started-">Get Started</a> • <a href="#description-">Description</a> • <a href="#scoring-">Scoring</a> • <a href="#contributing-">Contributing</a> • <a href="#changelog-">Changelog</a> </p> <p align="center"> <img src="https://github.com/edoardottt/images/blob/main/pwdsafety/pwdsafety.gif"> </p>

This tool doesn't store any information!
Never use personal information in your password!

<!-- [![asciicast](https://asciinema.org/a/406710.svg)](https://asciinema.org/a/406710) -->

Get Started 🎉

Snap

sudo snap install pwdsafety

Go1.17+

go install -v github.com/edoardottt/pwdsafety@latest

From source

Description 🔦

It reads from standard input the entered password.
First, it searches if the password or the password reversed is a well known pwd.
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:
formula

Where:

When the score <= 68(reasonable) it generates a random password.

Scoring 💯

Max score: 100

Scores:

Scoring parameters:

Contributing 🛠

Just open an issue / pull request.

Before opening a pull request, download golangci-lint and run

golangci-lint run

If there aren't errors, go ahead :)

See also CONTRIBUTING.md and CODE OF CONDUCT.md

Thanks to fabaff and ecnepsnai.

Changelog 📌

Detailed changes for each release are documented in the release notes.

License 📝

This repository is under GNU General Public License v3.0.
edoardottt.com to contact me.