summaryrefslogtreecommitdiff
path: root/CryptClass/HASHCrypt.cpp
diff options
context:
space:
mode:
authorLoic GUEGAN <loic@debian>2015-03-06 11:06:27 +0400
committerLoic GUEGAN <loic@debian>2015-03-06 11:06:27 +0400
commit1c6f11fdd85f2842eab5376c25a0acce535437f8 (patch)
treea0dc5c749e5a198a037413a76075d9e98977c99a /CryptClass/HASHCrypt.cpp
Création du projet !
Diffstat (limited to 'CryptClass/HASHCrypt.cpp')
-rw-r--r--CryptClass/HASHCrypt.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/CryptClass/HASHCrypt.cpp b/CryptClass/HASHCrypt.cpp
new file mode 100644
index 0000000..4ca3ee2
--- /dev/null
+++ b/CryptClass/HASHCrypt.cpp
@@ -0,0 +1,52 @@
+#include "HASHCrypt.hpp"
+
+
+
+//Constructeur
+HASHCrypt::HASHCrypt(std::string chain){
+ this->chain=chain; //Initialisation de l'attribut chain
+}
+
+//Destructeur
+HASHCrypt::~HASHCrypt(){
+}
+
+
+
+//Retourne la somme de controle MD5 sur 32 bits de l'attribut chain
+std::string HASHCrypt::getMD5_32(){
+
+ //Calcule de la somme de controle MD5 dans un type byte à partir de l'attribut chain
+ CryptoPP::Weak1::MD5 hash;
+ byte digest[ CryptoPP::Weak1::MD5::DIGESTSIZE ];
+ hash.CalculateDigest( digest, (byte*) this->chain.c_str(), this->chain.length() );
+
+ //Convertion du hash en std::string
+ CryptoPP::HexEncoder encoder;
+ std::string output;
+ encoder.Attach( new CryptoPP::StringSink( output ) );
+ encoder.Put( digest, sizeof(digest) );
+ encoder.MessageEnd();
+
+ //Retourne la sortie de la convertion
+ return output;
+}
+
+//Retourne la somme de controle MD5 sur 128 bits de l'attribut chain
+std::string HASHCrypt::getMD5_128(){
+
+ //Calcule de la somme de controle MD5 dans un type byte à partir de l'attribut chain
+ CryptoPP::Weak1::MD5 hash;
+ byte digest[ CryptoPP::Weak1::MD5::DIGESTSIZE * 4 ];
+ hash.CalculateDigest( digest, (byte*) this->chain.c_str(), this->chain.length() );
+
+ //Convertion du hash en std::string
+ CryptoPP::HexEncoder encoder;
+ std::string output;
+ encoder.Attach( new CryptoPP::StringSink( output ) );
+ encoder.Put( digest, sizeof(digest) );
+ encoder.MessageEnd();
+
+ //Retourne la sortie de la convertion
+ return output;
+}