summaryrefslogtreecommitdiff
path: root/Untracked/Doxygen/CryptClass/HASHCrypt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Untracked/Doxygen/CryptClass/HASHCrypt.cpp')
-rw-r--r--Untracked/Doxygen/CryptClass/HASHCrypt.cpp70
1 files changed, 70 insertions, 0 deletions
diff --git a/Untracked/Doxygen/CryptClass/HASHCrypt.cpp b/Untracked/Doxygen/CryptClass/HASHCrypt.cpp
new file mode 100644
index 0000000..8822226
--- /dev/null
+++ b/Untracked/Doxygen/CryptClass/HASHCrypt.cpp
@@ -0,0 +1,70 @@
+/**
+ * @file HASHCrypt.cpp
+ * @brief HASHCrypt class definitions
+ * @author manzerbredes
+ * @date 8 Mars 2015
+ *
+ * Contain all definitions of HASHCrypt class.
+ *
+ */
+
+
+#include "HASHCrypt.hpp"
+
+
+//Constructor
+HASHCrypt::HASHCrypt(){
+}
+
+//Destructor
+HASHCrypt::~HASHCrypt(){
+}
+
+
+
+void HASHCrypt::getMD5_128(std::string chain, byte* digest, int size){
+
+ //Digest size controller
+ this->checkDigestSize(CryptoPP::Weak1::MD5::DIGESTSIZE,size);
+
+ //Create the MD5 on digest parameter
+ CryptoPP::Weak1::MD5 hash;
+ hash.CalculateDigest( digest, (byte*) chain.c_str(), chain.length() );
+
+}
+
+
+void HASHCrypt::getSHA_256(std::string chain, byte* digest, int size){
+
+ //Digest size controller
+ this->checkDigestSize(CryptoPP::SHA256::DIGESTSIZE,size);
+
+ //Create the SHA-256 on digest parameter
+ CryptoPP::SHA256 hash;
+ hash.CalculateDigest( digest, (byte*) chain.c_str(), chain.length() );
+
+
+}
+
+
+
+void HASHCrypt::checkDigestSize(int sizeRequired, int size){
+ try{
+ if(size !=sizeRequired){
+ throw this->getInvalidDigestSizeError(sizeRequired, size);
+ }
+
+ }
+ catch(std::string erreur){
+ std::cerr << erreur <<std::endl;
+ std::exit(EXIT_FAILURE);
+ }
+}
+
+
+std::string HASHCrypt::getInvalidDigestSizeError(int sizeRequired, int size){
+ std::ostringstream erreurStream;
+ erreurStream << "Invalid digest size ! ("<< sizeRequired <<" bytes required and "<< size <<" given)";
+ return erreurStream.str();
+}
+