# Poco

# class SHA2Engine

Library: Foundation
Package: Crypt
Header: Poco/SHA2Engine.h

## Description

This class implements the SHA-2 message digest algorithm. (FIPS 180-4, see http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf)

## Inheritance

Direct Base Classes: DigestEngine

All Base Classes: DigestEngine

Known Derived Classes: SHA2Engine224, SHA2Engine256, SHA2Engine384, SHA2Engine512

## Member Summary

Member Functions: digest, digestLength, reset, updateImpl

Inherited Functions: constantTimeEquals, digest, digestFromHex, digestLength, digestToHex, reset, update, updateImpl

## Enumerations

### ALGORITHM

SHA_224 = 1

SHA_256

SHA_384

SHA_512

SHA_512_224

SHA_512_256

## Constructors

### SHA2Engine

SHA2Engine(
ALGORITHM algorithm = SHA_256
);

## Destructor

### ~SHA2Engine

~SHA2Engine() override;

## Member Functions

### digest

const DigestEngine::Digest & digest() override;

### digestLength

std::size_t digestLength() const override;

See also: Poco::DigestEngine::digestLength()

### reset

void reset() override;

See also: Poco::DigestEngine::reset()

### updateImpl

void updateImpl(
const void * data,
std::size_t length
) override;

See also: Poco::DigestEngine::updateImpl()