Mise à jour de la classe pour plus de sécurité :
Plus d'attribut chain, les attributs contiennent le hash code de la chaine passer en paramètre lors de l'initialisation. Mise à jour des commentaires.
This commit is contained in:
parent
1c6f11fdd8
commit
88b5076459
2 changed files with 42 additions and 17 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 <crypto++/md5.h>
|
||||
//Pour la convertion en hexadécimal et vice-versa
|
||||
#include "crypto++/hex.h"
|
||||
#include <crypto++/hex.h>
|
||||
|
||||
|
||||
/*----- 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
|
||||
|
||||
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue