#password #read #pass #security #getpass

readpass

A tiny library for reading passwords without displaying them on the terminal

1 stable release

new 1.0.0 Feb 27, 2025

#641 in Command-line interface

Apache-2.0

14KB
195 lines

readpass

CI crates.io MSRV crates.io downloads license

A tiny library for reading passwords without displaying them on the terminal. It's similar to the C function getpass() or Python's getpass module.

Usage

Read a password without displaying it on the terminal:

let passwd = readpass::from_tty()?;

If you want to display a prompt, print it to stdout or stderr before reading:

use std::io::{self, Write};

write!(io::stderr(), "Please enter a password: ")?;
let passwd = readpass::from_tty()?;

Strings returned by readpass are wrapped in Zeroizing to ensure the password is zeroized from memory after it's Dropped.

Docs: https://docs.rs/readpass.

License

The source code is released under the Apache 2.0 license. This is a fork of rpassword by Conrad Kleinespel. The original code rolls its own version of zeroize, in the rtoolbox crate. This crate aims to change that.

Dependencies

~0–7.5MB
~53K SLoC