pub fn read_password_with_reader<T>(source: Option<T>) -> Result<String>where T: BufRead,
Reads a password from anything that implements BufRead