---
name: "cryptbuf"
section: "3bobcat"
platform: "linux"
package: "libbobcat-dev"
version: "6.02.02-1"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/cryptbuf"
---

# cryptbuf(3bobcat)

std::streambuf derived base class for DecryptBuf and EncryptBuf

## NAME

FBB::CryptBuf - std::streambuf derived base class for DecryptBuf and EncryptBuf

## SYNOPSIS

**#include \<bobcat/cryptbuf\>**\
 Linking option: *-lbobcat -lcrypto*

## DESCRIPTION

This class is deprecated and will be removed from Bobcat in a future release. It inherits from *FBB::EoiBuf*. Classes using *CryptBuf* may use *EoiBuf* instead. *CryptBuf’s* member *EVP\_CIPHER const \*md()* can be implemented as follows:

```
    #include <openssl/evp.h>
    EVP_CIPHER const *md(char const *cipherName)
    {
        return EVP_CIPHER_fetch(0, cipherName, 0);
    }
```

## NAMESPACE

**FBB**\
 All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace **FBB**.

## INHERITS FROM

*EoiBuf* (and thus from: *std::streambuf*)

## PROTECTED CONSTRUCTOR

Analogously to *std::streambuf* only a protected constructor is available.

- o

  **CryptBuf(char const \*type, size\_t bufSize)**:\
   The type is a null-terminated byte string specifying the de/encryption method. E.g., *aes-128-cbc*. For an overview see the [**encryptbuf**(3bobcat)](/encryptbuf/3bobcat.md) man-page. The *bufSize* parameter defines the initial size of the internally used buffer (defined by *EoiBuf*).

Copy and move constructors (and assignment operators) are not available.

## PROTECTED MEMBER FUNCTION

All members of *std:streambuf* and *EoiBuf* are available, as **FBB::CryptBuf** inherits from these classes.

- o

  **EVP\_CIPHER const \*md() const**:\
   A pointer to the cipher information is returned.

## FILES

*bobcat/cryptbuf* - defines the class interface

## SEE ALSO

[**bobcat**(7)](/bobcat/7.md), [**eoibuf**(3bobcat)](/eoibuf/3bobcat.md), [**eoi**(3bobcat)](/eoi/3bobcat.md)

## BUGS

This class is deprecated and will be removed from Bobcat in a future release.

## BOBCAT PROJECT FILES

- o

  *https://fbb-git.gitlab.io/bobcat/*: gitlab project page;

- o

  *bobcat\_6.02.02-x.dsc*: detached signature;

- o

  *bobcat\_6.02.02-x.tar.gz*: source archive;

- o

  *bobcat\_6.02.02-x\_i386.changes*: change log;

- o

  *libbobcat1\_6.02.02-x\_\*.deb*: debian package containing the libraries;

- o

  *libbobcat1-dev\_6.02.02-x\_\*.deb*: debian package containing the libraries, headers and manual pages;

## BOBCAT

Bobcat is an acronym of \`Brokken’s Own Base Classes And Templates’.

## COPYRIGHT

This is free software, distributed under the terms of the GNU General Public License (GPL).

## AUTHOR

Frank B. Brokken (**f.b.brokken@rug.nl**).
