From 88b5076459ea44947228e7ab53199b86e4d65871 Mon Sep 17 00:00:00 2001 From: Loic GUEGAN Date: Sat, 7 Mar 2015 10:56:15 +0400 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20la=20classe=20pour?= =?UTF-8?q?=20plus=20de=20s=C3=A9curit=C3=A9=20:=20Plus=20d'attribut=20cha?= =?UTF-8?q?in,=20les=20attributs=20contiennent=20le=20hash=20code=20de=20l?= =?UTF-8?q?a=20chaine=20passer=20en=20param=C3=A8tre=20lors=20de=20l'initi?= =?UTF-8?q?alisation.=20Mise=20=C3=A0=20jour=20des=20commentaires.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CryptClass/HASHCrypt.cpp | 31 ++++++++++++++++++++++--------- CryptClass/HASHCrypt.hpp | 28 ++++++++++++++++++++-------- 2 files changed, 42 insertions(+), 17 deletions(-) diff --git a/CryptClass/HASHCrypt.cpp b/CryptClass/HASHCrypt.cpp index 4ca3ee2..ec25bf6 100644 --- a/CryptClass/HASHCrypt.cpp +++ b/CryptClass/HASHCrypt.cpp @@ -4,22 +4,24 @@ //Constructeur HASHCrypt::HASHCrypt(std::string chain){ - this->chain=chain; //Initialisation de l'attribut chain + this->MD5_32=this->initMD5_32(chain); //Initialisation MD5 sur 32bits + this->MD5_128=this->initMD5_128(chain); //Initialisation MD5 sur 128bits } + //Destructeur HASHCrypt::~HASHCrypt(){ } -//Retourne la somme de controle MD5 sur 32 bits de l'attribut chain -std::string HASHCrypt::getMD5_32(){ +//Retourne la somme de controle MD5 sur 32 bits +std::string HASHCrypt::initMD5_32(std::string chain){ - //Calcule de la somme de controle MD5 dans un type byte à partir de l'attribut chain + //Calcule de la somme de controle MD5 dans un type byte à partir du paramètre chain CryptoPP::Weak1::MD5 hash; byte digest[ CryptoPP::Weak1::MD5::DIGESTSIZE ]; - hash.CalculateDigest( digest, (byte*) this->chain.c_str(), this->chain.length() ); + hash.CalculateDigest( digest, (byte*) chain.c_str(), chain.length() ); //Convertion du hash en std::string CryptoPP::HexEncoder encoder; @@ -32,13 +34,13 @@ std::string HASHCrypt::getMD5_32(){ return output; } -//Retourne la somme de controle MD5 sur 128 bits de l'attribut chain -std::string HASHCrypt::getMD5_128(){ +//Retourne la somme de controle MD5 sur 128 bits +std::string HASHCrypt::initMD5_128(std::string chain){ - //Calcule de la somme de controle MD5 dans un type byte à partir de l'attribut chain + //Calcule de la somme de controle MD5 dans un type byte à partir du paramètre chain CryptoPP::Weak1::MD5 hash; byte digest[ CryptoPP::Weak1::MD5::DIGESTSIZE * 4 ]; - hash.CalculateDigest( digest, (byte*) this->chain.c_str(), this->chain.length() ); + hash.CalculateDigest( digest, (byte*) chain.c_str(), chain.length() ); //Convertion du hash en std::string CryptoPP::HexEncoder encoder; @@ -50,3 +52,14 @@ std::string HASHCrypt::getMD5_128(){ //Retourne la sortie de la convertion return output; } + + +//Getter MD5_32 +std::string HASHCrypt::getMD5_32(){ + return this->MD5_32; +} + +//Getter MD5_128 +std::string HASHCrypt::getMD5_128(){ + return this->MD5_128; +} diff --git a/CryptClass/HASHCrypt.hpp b/CryptClass/HASHCrypt.hpp index 2b7fc96..6090c92 100644 --- a/CryptClass/HASHCrypt.hpp +++ b/CryptClass/HASHCrypt.hpp @@ -4,32 +4,44 @@ //----- Includes crypto++ ----- -#define CRYPTOPP_ENABLE_NAMESPACE_WEAK 1 //Pour le calcule de la somme de controle MD5 -#include "crypto++/md5.h" +#include //Pour la convertion en hexadécimal et vice-versa -#include "crypto++/hex.h" +#include /*----- Description ----- -Classe executant divers fonctions de hashage sur -un attribut chain en utilisant la bibiothèque crypto++ +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. +Utilise la bibliothèque crypto++ */ class HASHCrypt{ public: + //Constructeur HASHCrypt(std::string chain); + + //Destructeur ~HASHCrypt(); - std::string getMD5_32(); //Calcule de la somme de controle MD5 sur 32bit - std::string getMD5_128(); //Calcule de la somme de controle MD5 sur 128bit + std::string getMD5_32(); //Retourne MD5_32 + std::string getMD5_128(); //Retourne MD5_128 private: - std::string chain; //Attribut paramètre des fonctions de hashage + //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); + + + std::string MD5_32; //Attribut MD5 sur 32bits + std::string MD5_128; //Attribut MD5 sur 128 bits };