# Poco::Crypto

# class CryptoInputStream

Library: Crypto
Package: Cipher
Header: Poco/Crypto/CryptoStream.h

## Description

This stream transforms all data passing through it using the given CryptoTransform.

Use a CryptoTransform object provided by Cipher::createEncrytor() or Cipher::createDecryptor() to create an encrypting or decrypting stream, respectively.

## Inheritance

Direct Base Classes: CryptoIOS, std::istream

All Base Classes: CryptoIOS, std::ios, std::istream

## Member Summary

Inherited Functions: rdbuf

## Constructors

### CryptoInputStream

CryptoInputStream(
std::istream & istr,
CryptoTransform::Ptr pTransform,
std::streamsize bufferSize = 8192
);

Create a new CryptoInputStream object. The CryptoInputStream takes the ownership of the given CryptoTransform object.

### CryptoInputStream

CryptoInputStream(
std::istream & istr,
Cipher & cipher,
std::streamsize bufferSize = 8192
);

Create a new encrypting CryptoInputStream object using the given cipher.

## Destructor

### ~CryptoInputStream

~CryptoInputStream();

Destroys the CryptoInputStream.