pub fn readpassphrase<'a>(
prompt: &CStr,
buf: &'a mut [u8],
flags: RppFlags,
) -> Result<&'a str, Error>Expand description
Reads a passphrase using readpassphrase(3).
§Security
The passed buffer might contain sensitive data, even if this function returns an error (for
example, if the contents are not valid UTF-8.) It is often considered good practice to zero
this memory after you’re done with it, for example by using zeroize:
use zeroize::Zeroizing;
let mut buf = Zeroizing::new(vec![0u8; PASSWORD_LEN]);
let pass = readpassphrase(c"Pass: ", &mut buf, RppFlags::default())?;Examples found in repository?
examples/inplace.rs (lines 18-22)
13fn main() {
14 #[allow(unused_mut)]
15 let mut buf = vec![0u8; 256];
16 #[cfg(feature = "zeroize")]
17 let mut buf = Zeroizing::new(buf);
18 let password = readpassphrase(
19 c"Password: ",
20 &mut buf,
21 RppFlags::FORCEUPPER | RppFlags::ECHO_ON,
22 )
23 .expect("failed reading passphrase");
24 println!("{password}");
25}