12 releases (1 stable)

Uses new Rust 2021

1.0.0 May 20, 2022
0.3.3 Apr 15, 2022
0.3.2 Jan 17, 2022
0.2.4 Nov 29, 2021
0.1.1 Nov 28, 2021

#418 in Cryptography

MIT license

8KB
129 lines

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?

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.

No runtime deps