libcryptosec
Hmac.h
Go to the documentation of this file.
1 #ifndef HMAC_H_
2 #define HMAC_H_
3 
4 #include <openssl/hmac.h>
7 #include <libcryptosec/Engine.h>
10 #include <vector>
11 
21 class Hmac {
22 
23 public:
28  Hmac();
29 
37  Hmac(std::string key, MessageDigest::Algorithm algorithm) throw (HmacException);
38 
46  Hmac(ByteArray key, MessageDigest::Algorithm algorithm) throw (HmacException);
47 
56  Hmac(std::string key, MessageDigest::Algorithm algorithm, Engine &engine) throw (HmacException);
57 
66  Hmac(ByteArray key, MessageDigest::Algorithm algorithm, Engine &engine) throw (HmacException);
67 
71  virtual ~Hmac();
72 
79  void init(ByteArray &key, MessageDigest::Algorithm algorithm) throw (HmacException);
80 
88  void init(ByteArray &key, MessageDigest::Algorithm algorithm, Engine &engine) throw (HmacException);
89 
96  void init(std::string key, MessageDigest::Algorithm algorithm) throw (HmacException);
97 
105  void init(std::string key, MessageDigest::Algorithm algorithm, Engine &engine) throw (HmacException);
106 
114 
121  void update(std::string data) throw (HmacException, InvalidStateException);
122 
129  void update(std::vector<std::string> &data) throw (HmacException, InvalidStateException);
130 
137  void update(std::vector<ByteArray> &data) throw (HmacException, InvalidStateException);
138 
147 
155  ByteArray doFinal(std::string data) throw (HmacException, InvalidStateException);
156 
164 
165 protected:
176  enum State {
180  };
181 
186 
191 
195  HMAC_CTX ctx;
196 
197 };
198 
199 #endif
Definition: HmacException.h:6
ByteArray doFinal()
Definition: Hmac.cpp:114
Hmac()
Definition: Hmac.cpp:3
Implementa as funcionalidades de um Hmac. Antes de utilizar o Hmac, o algoritmo de resumo (hash) deve...
Definition: Hmac.h:21
HMAC_CTX ctx
Definition: Hmac.h:195
State state
Definition: Hmac.h:190
Define as características funcionais de uma engine do OpenSSL.
Definition: Engine.h:19
Algorithm
Definition: MessageDigest.h:29
Definition: Hmac.h:177
MessageDigest::Algorithm algorithm
Definition: Hmac.h:185
State
Definition: Hmac.h:176
void update(ByteArray &data)
Definition: Hmac.cpp:73
Classe usada para transportar dados binários pelo sistema. Pode ser usada para conversão de texto em ...
Definition: ByteArray.h:24
Definition: Hmac.h:178
Definition: InvalidStateException.h:6
virtual ~Hmac()
Definition: Hmac.cpp:23
void init(ByteArray &key, MessageDigest::Algorithm algorithm)
Definition: Hmac.cpp:25
Definition: Hmac.h:179