Struct pwsafe::PwsafeReader [−][src]
pub struct PwsafeReader<R> { /* fields omitted */ }
Password safe reader.
use pwsafe::PwsafeReader; use std::fs::File; use std::io::BufReader; let filename = "tests/pwsafe.psafe3"; let file = BufReader::new(File::open(filename).unwrap()); let mut db = PwsafeReader::new(file, b"password").unwrap(); let version = db.read_version().unwrap(); println!("Version is {:x}", version); while let Some((field_type, field_data)) = db.read_field().unwrap() { println!("Read field of type {} and length {}", field_type, field_data.len()); } db.verify().unwrap();
Methods
impl<R: Read> PwsafeReader<R>
[src]
impl<R: Read> PwsafeReader<R>
pub fn new(inner: R, password: &[u8]) -> Result<Self, Error>
[src]
pub fn new(inner: R, password: &[u8]) -> Result<Self, Error>
Creates a new PwsafeReader
with the given password.
pub fn read_version(&mut self) -> Result<u16, Error>
[src]
pub fn read_version(&mut self) -> Result<u16, Error>
Reads the database version field.
pub fn read_field(&mut self) -> Result<Option<(u8, Vec<u8>)>, Error>
[src]
pub fn read_field(&mut self) -> Result<Option<(u8, Vec<u8>)>, Error>
Reads a field.
Returns field type and contents or None
if EOF block is encountered.
pub fn verify(&mut self) -> Result<(), Error>
[src]
pub fn verify(&mut self) -> Result<(), Error>
Reads HMAC and checks the database integrity.
This function must be called after reading the last field in the database.
pub fn get_iter(&self) -> u32
[src]
pub fn get_iter(&self) -> u32
Returns the number of iterations used for key stretching.
Auto Trait Implementations
impl<R> Send for PwsafeReader<R> where
R: Send,
impl<R> Send for PwsafeReader<R> where
R: Send,
impl<R> Sync for PwsafeReader<R> where
R: Sync,
impl<R> Sync for PwsafeReader<R> where
R: Sync,