libkeepass 0.2.0
KeePass key database importer/exporter library
Loading...
Searching...
No Matches
stream.hh File Reference

Stream buffer adapters for hashed, HMAC, and gzip I/O. More...

#include <algorithm>
#include <array>
#include <cassert>
#include <cstring>
#include <istream>
#include <memory>
#include <ostream>
#include <vector>
#include <zlib.h>
#include "libkeepass/detail/limits.hh"
#include "libkeepass/export.hh"
#include "util.hh"

Go to the source code of this file.

Classes

class  keepass::array_iostreambuf< N >
 A std::streambuf backed by a fixed-size std::array. More...
 
class  keepass::hashed_basic_streambuf
 Base class providing SHA-256 hashing for block-oriented stream buffers. More...
 
struct  keepass::hashed_basic_streambuf::BlockHeader
 Header written before each data block in the hashed stream format. More...
 
class  keepass::hashed_istreambuf
 Input streambuf that reads SHA-256-hashed, block-structured data. More...
 
class  keepass::hashed_ostreambuf
 Output streambuf that writes SHA-256-hashed, block-structured data. More...
 
class  keepass::hmac_istreambuf
 Input streambuf that reads HMAC-verified, block-structured data (KDBX4 format). More...
 
class  keepass::hmac_ostreambuf
 Output streambuf that writes HMAC-authenticated, block-structured data (KDBX4 format). More...
 
class  keepass::gzip_istreambuf
 Input streambuf that decompresses gzip-compressed data on the fly. More...
 
class  keepass::gzip_ostreambuf
 Output streambuf that compresses data with gzip on the fly. More...
 
class  keepass::encrypt_ostreambuf
 Input streambuf that encrypts on the fly (streaming counterpart of the whole-buffer encrypt_cbc / ChaCha20 path). More...
 

Detailed Description

Stream buffer adapters for hashed, HMAC, and gzip I/O.