# Poco::Crypto

# class EVPCipherImpl

Library: Crypto
Package: EVP
Header: Poco/Crypto/EVPCipherImpl.h

## Description

An implementation of the Cipher class for asymmetric (public-private key) encryption based on the OpenSSL crypto library.

Encryption is using the public key, decryption requires the private key.

## Inheritance

Direct Base Classes: Cipher

All Base Classes: Cipher, Poco::RefCountedObject

## Member Summary

Member Functions: createDecryptor, createEncryptor, name

Inherited Functions: createDecryptor, createEncryptor, decrypt, decryptString, duplicate, encrypt, encryptString, name, referenceCount, release

## Constructors

### EVPCipherImpl

EVPCipherImpl(
const EVPPKey & key
);

Creates a new EVPCipherImpl object for the given EVPPKey and using the given padding mode.

## Destructor

### ~EVPCipherImpl

virtual ~EVPCipherImpl();

Destroys the EVPCipherImpl.

## Member Functions

### createDecryptor

CryptoTransform::Ptr createDecryptor();

Creates a decryptor object.

See also: Poco::Crypto::Cipher::createDecryptor()

### createEncryptor

CryptoTransform::Ptr createEncryptor();

Creates an encryptor object.

See also: Poco::Crypto::Cipher::createEncryptor()

### name

const std::string & name() const;

Returns the name of the Cipher.

See also: Poco::Crypto::Cipher::name()