~grtcdr/paspio

A library and command-line utility for calculating password entropy.

f24017c Add build badge

~grtcdr pushed to ~grtcdr/paspio git

1 year, 2 months ago

d3dcdc9 Add build manifest

~grtcdr pushed to ~grtcdr/paspio git

1 year, 2 months ago

#paspio

build 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 supports only the ASCII character set.

#What is this tool useful for?

paspio solves the simple need of verifying password entropy locally, it does not depend on any external libraries, and does not require an internet connection.

#How does it calculate entropy?

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.

paspio "liuLe9ohjub8hu2ie" # 101.22 bits

Pipe a pwgen-generated password to paspio.

pwgen -sync 20 1 | paspio # 137.65 bits

#As a library

Add the following to your project's Cargo.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

  • Thank you to Federico Torrielli for shipping and maintaining paspio in the Arch User Repository.

If you notice any issues or have any inquiries, please send them via mail to my public inbox.