From bbfdf67777b9f78bdd5592b863d93b0448ce2fd3 Mon Sep 17 00:00:00 2001 From: Loic GUEGAN Date: Sat, 7 Mar 2015 19:59:15 +0400 Subject: Classe HASHCrypt totalement revue et pensée. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CryptClass/HASHCrypt.hpp | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) (limited to 'CryptClass/HASHCrypt.hpp') 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 #include - +#include //----- Includes crypto++ ----- -//Pour le calcule de la somme de controle MD5 +//Pour le calcule de la MD5 #include //Pour la convertion en hexadécimal et vice-versa #include +//Pour l'utilisation de l'algorithme SHA +#include /*----- 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 }; -- cgit v1.2.3