libcryptosec
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Attributes | List of all members

Implementa as funcionalidades de resumo criptográfico. Antes de utilizar os algortimos de resumo devem-se carregá-los através de init(Algorithm) ou de loadMessageDigestAlgorithms(). More...

#include <MessageDigest.h>

Public Types

enum  Algorithm {
  MD4, MD5, RIPEMD160, SHA,
  SHA1, SHA224, SHA256, SHA384,
  SHA512
}
 

Public Member Functions

 MessageDigest ()
 
 MessageDigest (MessageDigest::Algorithm algorithm) throw (MessageDigestException)
 
 MessageDigest (MessageDigest::Algorithm algorithm, Engine &engine) throw (MessageDigestException)
 
virtual ~MessageDigest ()
 
void init (MessageDigest::Algorithm algorithm) throw (MessageDigestException)
 
void init (MessageDigest::Algorithm algorithm, Engine &engine) throw (MessageDigestException)
 
void update (ByteArray &data) throw (MessageDigestException, InvalidStateException)
 
void update (std::string &data) throw (MessageDigestException, InvalidStateException)
 
ByteArray doFinal () throw (MessageDigestException, InvalidStateException)
 
ByteArray doFinal (ByteArray &data) throw (MessageDigestException, InvalidStateException)
 
ByteArray doFinal (std::string &data) throw (MessageDigestException, InvalidStateException)
 
MessageDigest::Algorithm getAlgorithm () throw (InvalidStateException)
 

Static Public Member Functions

static const EVP_MD * getMessageDigest (MessageDigest::Algorithm algorithm)
 
static MessageDigest::Algorithm getMessageDigest (int algorithmNid) throw (MessageDigestException)
 
static void loadMessageDigestAlgorithms ()
 

Protected Types

enum  State { NO_INIT, INIT, UPDATE }
 

Protected Attributes

MessageDigest::Algorithm algorithm
 
MessageDigest::State state
 
EVP_MD_CTX ctx
 

Detailed Description

Implementa as funcionalidades de resumo criptográfico. Antes de utilizar os algortimos de resumo devem-se carregá-los através de init(Algorithm) ou de loadMessageDigestAlgorithms().

Member Enumeration Documentation

◆ Algorithm

Enumerator
MD4 
MD5 
RIPEMD160 
SHA 
SHA1 
SHA224 
SHA256 
SHA384 
SHA512 

◆ State

enum MessageDigest::State
protected
Enumerator
NO_INIT 
INIT 
UPDATE 

Constructor & Destructor Documentation

◆ MessageDigest() [1/3]

MessageDigest::MessageDigest ( )

Construtor padrão. Controi objeto MessageDigest não inicializado.

◆ MessageDigest() [2/3]

MessageDigest::MessageDigest ( MessageDigest::Algorithm  algorithm)
throw (MessageDigestException
)

Construtor Constroi um objeto MessageDigest.

Parameters
algorithmalgoritmo de resumo.
Exceptions
MessageDigestExceptioncaso ocorra erro ao inicializar a estrutura de resumos do OpenSSL.

◆ MessageDigest() [3/3]

MessageDigest::MessageDigest ( MessageDigest::Algorithm  algorithm,
Engine engine 
)
throw (MessageDigestException
)

Construtor Constroi um objeto MessageDigest utilizando uma engine.

Parameters
algorithmalgoritmo de resumo.
engineobjeto Engine.
Exceptions
MessageDigestExceptioncaso ocorra erro ao inicializar a estrutura de resumos do OpenSSL.

◆ ~MessageDigest()

MessageDigest::~MessageDigest ( )
virtual

Destrutor.

Member Function Documentation

◆ doFinal() [1/3]

ByteArray MessageDigest::doFinal ( )
throw (MessageDigestException,
InvalidStateException
)

Realiza resumo criptográfico.

Returns
bytes que representam o resumo calculado.
Exceptions
MessageDigestExceptioncaso ocorra erro ao finalizar o contexto de resumo do OpenSSL.
InvalidStateExceptioncaso o objeto MessageDigest não tenha sido inicializado corretamente ou caso não tenha sido passado o conteúdo para calculo do resumo.

◆ doFinal() [2/3]

ByteArray MessageDigest::doFinal ( ByteArray data)
throw (MessageDigestException,
InvalidStateException
)

Realiza atualização do contexto e faz resumo criptográfico. Equivalente a executar MessageDigest::update(ByteArray &data) e, em seguida, MessageDigest::doFinal().

Parameters
dataconteúdo para resumo.
Returns
bytes que representam o resumo calculado.
Exceptions
MessageDigestExceptioncaso ocorra erro ao finalizar o contexto de resumo do OpenSSL.
InvalidStateExceptioncaso o objeto MessageDigest não tenha sido inicializado corretamente ou caso não tenha sido passado o conteúdo para calculo do resumo.

◆ doFinal() [3/3]

ByteArray MessageDigest::doFinal ( std::string &  data)
throw (MessageDigestException,
InvalidStateException
)

Realiza atualização do contexto e faz resumo criptográfico. Equivalente a executar MessageDigest::update(ByteArray &data) e, em seguida, MessageDigest::doFinal().

Parameters
dataconteúdo para resumo.
Returns
bytes que representam o resumo calculado.
Exceptions
MessageDigestExceptioncaso ocorra erro ao finalizar o contexto de resumo do OpenSSL.
InvalidStateExceptioncaso o objeto MessageDigest não tenha sido inicializado corretamente ou caso não tenha sido passado o conteúdo para calculo do resumo.

◆ getAlgorithm()

MessageDigest::Algorithm MessageDigest::getAlgorithm ( )
throw (InvalidStateException
)

Retorna algoritmo de resumo selecionado.

Returns
algoritmo de resumo selecionado.
Exceptions
InvalidStateExceptioncaso o objeto MessageDigest não tenha sido inicializado corretamente.

◆ getMessageDigest() [1/2]

const EVP_MD * MessageDigest::getMessageDigest ( MessageDigest::Algorithm  algorithm)
static

Retorna a estrutura do OpenSSL que representa o algoritmo de resumo desejado.

Returns
objeto EVP_MD referente ao algoritmo passado.

◆ getMessageDigest() [2/2]

MessageDigest::Algorithm MessageDigest::getMessageDigest ( int  algorithmNid)
throw (MessageDigestException
)
static

Obtem algoritmo de resumo a partir do identificador numérico do algoritmo no OpenSSL

Returns
objeto MessageDigest::Algorithm relativo ao identificador passado.
Exceptions
MessageDigestExceptioncaso o identificador passado seja inválido.

◆ init() [1/2]

void MessageDigest::init ( MessageDigest::Algorithm  algorithm)
throw (MessageDigestException
)

Inicializa estruturas de resumos do OpenSSL.

Parameters
algorithmalgoritmo de resumo.
Exceptions
MessageDigestExceptioncaso ocorra erro ao inicializar a estrutura de resumos do OpenSSL.

◆ init() [2/2]

void MessageDigest::init ( MessageDigest::Algorithm  algorithm,
Engine engine 
)
throw (MessageDigestException
)

Inicializa estruturas de resumos do OpenSSL utilizando uma engine.

Parameters
algorithmalgoritmo de resumo.
engineobjeto Engine.
Exceptions
MessageDigestExceptioncaso ocorra erro ao inicializar a estrutura de resumos do OpenSSL.

◆ loadMessageDigestAlgorithms()

void MessageDigest::loadMessageDigestAlgorithms ( )
static

Carrega todos os algoritmos de resumo.

◆ update() [1/2]

void MessageDigest::update ( ByteArray data)
throw (MessageDigestException,
InvalidStateException
)

Define o conteúdo de entrada função de resumo.

Parameters
dataconteúdo para resumo.
Exceptions
MessageDigestExceptioncaso ocorra erro ao atualizar o contexto de resumo do OpenSSL.
InvalidStateExceptioncaso o objeto MessageDigest não tenha sido inicializado corretamente.

◆ update() [2/2]

void MessageDigest::update ( std::string &  data)
throw (MessageDigestException,
InvalidStateException
)

Define o conteúdo de entrada função de resumo.

Parameters
dataconteúdo para resumo.
Exceptions
MessageDigestExceptioncaso ocorra erro ao atualizar o contexto de resumo do OpenSSL.
InvalidStateExceptioncaso o objeto MessageDigest não tenha sido inicializado corretamente.

Member Data Documentation

◆ algorithm

MessageDigest::Algorithm MessageDigest::algorithm
protected

Algoritmo selecionado

◆ ctx

EVP_MD_CTX MessageDigest::ctx
protected

Estrutura OpenSSL que representa o algoritmo de resumo.

◆ state

MessageDigest::State MessageDigest::state
protected

Estado das estruturas de resumo.


The documentation for this class was generated from the following files: