2015-03-06 11:06:27 +04:00
|
|
|
//----- Includes std -----
|
2015-03-07 19:59:15 +04:00
|
|
|
#include <iostream>
|
2015-03-06 11:06:27 +04:00
|
|
|
#include <string>
|
2015-03-07 19:59:15 +04:00
|
|
|
#include <sstream>
|
2015-03-06 11:06:27 +04:00
|
|
|
|
|
|
|
//----- Includes crypto++ -----
|
|
|
|
|
2015-03-07 19:59:15 +04:00
|
|
|
//Pour le calcule de la MD5
|
2015-03-07 10:56:15 +04:00
|
|
|
#include <crypto++/md5.h>
|
2015-03-06 11:06:27 +04:00
|
|
|
//Pour la convertion en hexadécimal et vice-versa
|
2015-03-07 10:56:15 +04:00
|
|
|
#include <crypto++/hex.h>
|
2015-03-07 19:59:15 +04:00
|
|
|
//Pour l'utilisation de l'algorithme SHA
|
|
|
|
#include <crypto++/sha.h>
|
2015-03-06 11:06:27 +04:00
|
|
|
|
|
|
|
|
|
|
|
/*----- Description -----
|
2015-03-07 19:59:15 +04:00
|
|
|
Classe exécutant divers fonctions de hachage sur
|
|
|
|
un paramètre donné à la méthode choisie.
|
|
|
|
Gestion des exceptions.
|
2015-03-07 10:56:15 +04:00
|
|
|
Utilise la bibliothèque crypto++
|
2015-03-06 11:06:27 +04:00
|
|
|
*/
|
|
|
|
|
|
|
|
class HASHCrypt{
|
|
|
|
|
|
|
|
public:
|
2015-03-07 10:56:15 +04:00
|
|
|
//Constructeur
|
2015-03-07 19:59:15 +04:00
|
|
|
HASHCrypt();
|
2015-03-07 10:56:15 +04:00
|
|
|
|
|
|
|
//Destructeur
|
2015-03-06 11:06:27 +04:00
|
|
|
~HASHCrypt();
|
|
|
|
|
2015-03-07 19:59:15 +04:00
|
|
|
//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);
|
2015-03-06 11:06:27 +04:00
|
|
|
|
2015-03-07 19:59:15 +04:00
|
|
|
//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
|
2015-03-06 11:06:27 +04:00
|
|
|
|
|
|
|
private:
|
2015-03-07 10:56:15 +04:00
|
|
|
|
2015-03-07 19:59:15 +04:00
|
|
|
//Arrête le programme en cas de taille de Digest invalide et affiche une erreur.
|
|
|
|
void checkDigestSize(int sizeRequired, int size);
|
2015-03-07 10:56:15 +04:00
|
|
|
|
2015-03-07 19:59:15 +04:00
|
|
|
//Assemble et retourne les messages d'erreurs de type : InvalidDigestSizeError
|
|
|
|
std::string getInvalidDigestSizeError(int sizeRequired, int size);
|
2015-03-07 10:56:15 +04:00
|
|
|
|
2015-03-06 11:06:27 +04:00
|
|
|
|
|
|
|
|
|
|
|
};
|