libcryptosec
MessageDigest.h
Go to the documentation of this file.
1 #ifndef MESSAGEDIGEST_H_
2 #define MESSAGEDIGEST_H_
3 
4 #include <openssl/evp.h>
5 #include <string>
6 #include "ByteArray.h"
7 #include "Engine.h"
10 
22 {
23 public:
24 
29  enum Algorithm
30  {
31  MD4,
32  MD5,
34  SHA,
40  };
41 
46  MessageDigest();
47 
55 
64 
68  virtual ~MessageDigest();
69 
76 
84 
92 
99  void update(std::string &data) throw (MessageDigestException, InvalidStateException);
100 
108 
117  ByteArray doFinal(ByteArray &data) throw (MessageDigestException, InvalidStateException);
118 
119 
128  ByteArray doFinal(std::string &data) throw (MessageDigestException, InvalidStateException);
129 
135  MessageDigest::Algorithm getAlgorithm() throw (InvalidStateException);
136 
137 
142  static const EVP_MD* getMessageDigest(MessageDigest::Algorithm algorithm);
143 
149  static MessageDigest::Algorithm getMessageDigest(int algorithmNid)
150  throw (MessageDigestException);
151 
152 
156  static void loadMessageDigestAlgorithms();
157 protected:
158 
169  enum State
170  {
174  };
175 
180 
185 
189  EVP_MD_CTX ctx;
190 };
191 
192 #endif /*MESSAGEDIGEST_H_*/
ByteArray doFinal()
Definition: MessageDigest.cpp:102
MessageDigest::Algorithm algorithm
Definition: MessageDigest.h:179
Definition: MessageDigest.h:31
Definition: MessageDigestException.h:6
Definition: MessageDigest.h:36
Definition: MessageDigest.h:34
Definition: MessageDigest.h:35
Define as características funcionais de uma engine do OpenSSL.
Definition: Engine.h:19
Algorithm
Definition: MessageDigest.h:29
Implementa as funcionalidades de resumo criptográfico. Antes de utilizar os algortimos de resumo deve...
Definition: MessageDigest.h:21
void init(MessageDigest::Algorithm algorithm)
Definition: MessageDigest.cpp:44
static const EVP_MD * getMessageDigest(MessageDigest::Algorithm algorithm)
Definition: MessageDigest.cpp:146
Classe usada para transportar dados binários pelo sistema. Pode ser usada para conversão de texto em ...
Definition: ByteArray.h:24
Definition: MessageDigest.h:33
Definition: MessageDigest.h:37
static void loadMessageDigestAlgorithms()
Definition: MessageDigest.cpp:222
MessageDigest()
Definition: MessageDigest.cpp:3
MessageDigest::State state
Definition: MessageDigest.h:184
Definition: MessageDigest.h:172
Definition: MessageDigest.h:32
Definition: MessageDigest.h:39
Definition: InvalidStateException.h:6
Definition: MessageDigest.h:173
void update(ByteArray &data)
Definition: MessageDigest.cpp:81
State
Definition: MessageDigest.h:169
Definition: MessageDigest.h:38
EVP_MD_CTX ctx
Definition: MessageDigest.h:189
MessageDigest::Algorithm getAlgorithm()
Definition: MessageDigest.cpp:137
virtual ~MessageDigest()
Definition: MessageDigest.cpp:39
Definition: MessageDigest.h:171