paspio

docs version

paspio, short for pasvorta entropio, is a password entropy calculator/library.

What is password entropy?

The entropy of a password measures its unpredictability against brute force attacks in terms of bits, other common techniques of password cracking include dictionary attacks, which this tool does not cover.

Notice

This tool has not been audited by any third-party entities, and I am in no way a certified expert in the security field. Use this software at your own risk.

Limitations

This tool doesn't cover the use of emojis, or any other character sets besides the latin alphabet, see "How does it calculate entropy" for more information.

What is this tool useful for?

paspio solves the simple need of verifying password entropy locally.

How does it calculate entropy?

bash Entropy = L * log2(R)

| Symbol set | Elements | Cardinality | Notes | |------------------------:|:----------------------------------|:-----------:|:--------------------| | Lowercase latin letters | [a-z] | 26 | | | Uppercase latin letters | [A-Z] | 26 | | | Digits | [0-9] | 10 | | | Symbols | !"#$%&'()*+,-.:;<=>?@[]^_`{/\|\} | 32 | Whitespace included |

Where: - L is the length of the password. - R is the sum of the cardinality of each set a password exists in.

Usage

As a program

Pass one or more passwords to paspio to get their entropy.

bash paspio "liuLe9ohjub8hu2ie" # 101.22 bits

Pipe a pwgen-generated password to paspio.

bash pwgen -sync 20 1 | paspio # 137.65 bits

As a library

Add the following to your project's Cargo.toml:

toml paspio = "0.3"

Installation

Cargo

cargo install paspio

Arch User Repository

git clone https://aur.archlinux.org/paspio-git.git cd paspio-git makepkg -si

Build from source

git clone https://git.sr.ht/~grtcdr/paspio cd paspio cargo build --release

Acknowledgements