#password #reader-writer #safe #database #reading #file #version

pwsafe

A library for reading and writing Password Safe databases

3 releases

Uses old Rust 2015

0.1.2 Sep 8, 2018
0.1.1 Aug 21, 2018
0.1.0 Aug 21, 2018

#127 in #reader-writer

Unlicense

26KB
572 lines

pwsafe

A Rust library for reading and writing Password Safe databases.


lib.rs:

Password Safe file format reader and writer.

This crate provides separate reader and writer for Password Safe database format. It does not impose any internal database representation and can be used to write converters or integrate import/export functionality into existing password managers.

Neither reader nor writer require std::io::Seek trait implementation from the underlying reader or writer. That is because by design the Password Safe database does not allow random access. Blocks are encrypted in CBC mode and checking the database integrity requires reading the whole file. On the other hand, the database must be rekeyed after each modification, so the whole file must be rewritten from scratch.

At this time only version 3 database format is supported.

High-level interfaces to parse records are not implemented (yet).

Dependencies

~1MB
~21K SLoC