summaryrefslogtreecommitdiff
path: root/CryptClass/HASHCrypt.hpp
diff options
context:
space:
mode:
authorLoic GUEGAN <loic@debian>2015-03-07 19:59:15 +0400
committerLoic GUEGAN <loic@debian>2015-03-07 19:59:15 +0400
commitbbfdf67777b9f78bdd5592b863d93b0448ce2fd3 (patch)
tree2eb8d268fbdd24288101653036c3c2dfd6ad0eb6 /CryptClass/HASHCrypt.hpp
parent80261321e887e2d8ffb71173a517f4e50c8ce93a (diff)
Classe HASHCrypt totalement revue et pensée.
Diffstat (limited to 'CryptClass/HASHCrypt.hpp')
-rw-r--r--CryptClass/HASHCrypt.hpp33
1 files changed, 17 insertions, 16 deletions
diff --git a/CryptClass/HASHCrypt.hpp b/CryptClass/HASHCrypt.hpp
index 6090c92..bf7ed95 100644
--- a/CryptClass/HASHCrypt.hpp
+++ b/CryptClass/HASHCrypt.hpp
@@ -1,20 +1,22 @@
//----- Includes std -----
-
+#include <iostream>
#include <string>
-
+#include <sstream>
//----- Includes crypto++ -----
-//Pour le calcule de la somme de controle MD5
+//Pour le calcule de la MD5
#include <crypto++/md5.h>
//Pour la convertion en hexadécimal et vice-versa
#include <crypto++/hex.h>
+//Pour l'utilisation de l'algorithme SHA
+#include <crypto++/sha.h>
/*----- Description -----
-Classe executant divers fonctions de hachage sur
-un paramètre donné à l'initialisation, ainsi celui-ci
-n'est présent en mémoire qu'à l'initialisation.
+Classe exécutant divers fonctions de hachage sur
+un paramètre donné à la méthode choisie.
+Gestion des exceptions.
Utilise la bibliothèque crypto++
*/
@@ -22,26 +24,25 @@ class HASHCrypt{
public:
//Constructeur
- HASHCrypt(std::string chain);
+ HASHCrypt();
//Destructeur
~HASHCrypt();
- std::string getMD5_32(); //Retourne MD5_32
- std::string getMD5_128(); //Retourne MD5_128
-
+ //Contruit un MD5 de 128 bits sur le tableau digest de taille size à l'aide de la chaine chaine.
+ void getMD5_128(std::string chain, byte* digest, int size);
+ //Contruit un SHA de 256 bits sur le tableau digest de taille size à l'aide de la chaine chaine.
+ void getSHA_256(std::string chain, byte* digest, int size); //Retourne SHA_256
private:
- //Calcule de MD5 sur 32bits
- std::string initMD5_32(std::string chain);
- //Calcule de MD5 sur 128 bits
- std::string initMD5_128(std::string chain);
+ //Arrête le programme en cas de taille de Digest invalide et affiche une erreur.
+ void checkDigestSize(int sizeRequired, int size);
+ //Assemble et retourne les messages d'erreurs de type : InvalidDigestSizeError
+ std::string getInvalidDigestSizeError(int sizeRequired, int size);
- std::string MD5_32; //Attribut MD5 sur 32bits
- std::string MD5_128; //Attribut MD5 sur 128 bits
};