summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic GUEGAN <loic@debian>2015-03-08 09:08:21 +0400
committerLoic GUEGAN <loic@debian>2015-03-08 09:08:21 +0400
commitc7dd5225b80960d3b47e76f16d4e9a06657e4b86 (patch)
tree1a43ffdd60c21b338794df4d2aff187f3d5191b8
parentbbfdf67777b9f78bdd5592b863d93b0448ce2fd3 (diff)
Switch to doxygen comments, and english comments.
-rw-r--r--.gitignore3
-rw-r--r--CryptClass/HASHCrypt.cpp59
-rw-r--r--CryptClass/HASHCrypt.hpp91
-rw-r--r--Readme.md2
-rw-r--r--main.cpp29
5 files changed, 125 insertions, 59 deletions
diff --git a/.gitignore b/.gitignore
index 31f5f46..819d46f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,6 @@
/*.cbp
/bin
/obj
+/Doxyfile
+/Doxygen
+*.untracked
diff --git a/CryptClass/HASHCrypt.cpp b/CryptClass/HASHCrypt.cpp
index d77ee05..4c42ef3 100644
--- a/CryptClass/HASHCrypt.cpp
+++ b/CryptClass/HASHCrypt.cpp
@@ -1,68 +1,51 @@
+/**
+ * @file HASHCrypt.cpp
+ * @brief HASHCrypt class definitions
+ * @author manzerbredes
+ * @date 8 Mars 2015
+ *
+ * Contain all definitions of HASHCrypt class.
+ *
+ */
+
+
#include "HASHCrypt.hpp"
-//Constructeur
+//Constructor
HASHCrypt::HASHCrypt(){
}
-
-//Destructeur
+//Destructor
HASHCrypt::~HASHCrypt(){
}
-/*
- chain : objet de type string à hacher à l'aide de l'algorithme MD5
- digest: tableau de type byte* contenant les données hasher
- size: int faisant référence à la taille du tableau
- Attention si size!=sizeof(digest) risque d'erreur de type Segmentation fault
-
-*/
void HASHCrypt::getMD5_128(std::string chain, byte* digest, int size){
- //Contrôle de la taille du digest
+ //Digest size controller
this->checkDigestSize(CryptoPP::Weak1::MD5::DIGESTSIZE,size);
- //Calcule de la somme de controle MD5 dans un type byte* à partir du paramètre chain
+ //Create the MD5 on digest parameter
CryptoPP::Weak1::MD5 hash;
hash.CalculateDigest( digest, (byte*) chain.c_str(), chain.length() );
}
-/*
- chain : objet de type string à hacher à l'aide de l'algorithme SHA-256
- digest: tableau de type byte* contenant les données hasher
- size : int faisant référence à la taille du tableau
-
- Attention si size!=sizeof(digest) risque d'erreur de type Segmentation fault
-
-*/
void HASHCrypt::getSHA_256(std::string chain, byte* digest, int size){
- //Contrôle de la taille du digest
+ //Digest size controller
this->checkDigestSize(CryptoPP::SHA256::DIGESTSIZE,size);
- //Calcule du SHA-256 dans un type byte* à partir du paramètre chain
+ //Create the SHA-256 on digest parameter
CryptoPP::SHA256 hash;
hash.CalculateDigest( digest, (byte*) chain.c_str(), chain.length() );
}
-/*
- size : contient la taille des données passer en paramètre à la méthode de hashage choisi
-*/
-std::string HASHCrypt::getInvalidDigestSizeError(int sizeRequired, int size){
- std::ostringstream erreurStream;
- erreurStream << "Taille de digest invalide ! ("<< sizeRequired <<" octets requis et "<< size <<" donner)";
- return erreurStream.str();
-}
-/*
- sizeRequired : Taille du disgest attendu
- size : Taille du digest donné
-*/
void HASHCrypt::checkDigestSize(int sizeRequired, int size){
try{
if(size !=sizeRequired){
@@ -75,3 +58,11 @@ void HASHCrypt::checkDigestSize(int sizeRequired, int size){
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();
+}
+
diff --git a/CryptClass/HASHCrypt.hpp b/CryptClass/HASHCrypt.hpp
index bf7ed95..2436040 100644
--- a/CryptClass/HASHCrypt.hpp
+++ b/CryptClass/HASHCrypt.hpp
@@ -1,46 +1,97 @@
-//----- Includes std -----
+/**
+ * @file HASHCrypt.hpp
+ * @brief HASHCrypt class header
+ * @author manzerbredes
+ * @date 8 Mars 2015
+ *
+ * Contain all prototypes of HASHCrypt class.
+ *
+ */
+
+
+//----- std -----
#include <iostream>
#include <string>
#include <sstream>
-//----- Includes crypto++ -----
+//----- crypto++ -----
+#include <crypto++/md5.h> //For MD5
+#include <crypto++/hex.h> //For Hex convertion
+#include <crypto++/sha.h> //For SHA
-//Pour le calcule de la MD5
-#include <crypto++/md5.h>
-//Pour la convertion en hexadécimal et vice-versa
-#include <crypto++/hex.h>
-//Pour l'utilisation de l'algorithme SHA
-#include <crypto++/sha.h>
-/*----- Description -----
-Classe exécutant divers fonctions de hachage sur
-un paramètre donné à la méthode choisie.
-Gestion des exceptions.
-Utilise la bibliothèque crypto++
-*/
+/**
+ * @class HASHCrypt HASHCrypt.hpp "/CryptClass/HASHCrypt.hpp"
+ * @brief Hashing class
+ * @author manzerbredes
+ *
+ * Class who handle hashing functions to a byte* parameter.
+ * HASHCrypt try to detect errors and throw exceptions.
+ * HASHCrypt use crypto++ library.
+ */
class HASHCrypt{
public:
- //Constructeur
+ /**
+ * @brief Contructor
+ */
HASHCrypt();
- //Destructeur
+ /**
+ * @brief Destructor
+ */
~HASHCrypt();
- //Contruit un MD5 de 128 bits sur le tableau digest de taille size à l'aide de la chaine chaine.
+ /**
+ * @brief Create an MD5 over 128 bits on a digest array of bytes.
+ *
+ * @param chain : Chain to hash
+ * @param digest : An array of bytes (8 bits)
+ * @param size : Length of the array digest
+ *
+ * **Warning** digest will be modified.
+ * Digest must be an array of byte with 16 entries
+ */
void getMD5_128(std::string chain, byte* digest, int size);
- //Contruit un SHA de 256 bits sur le tableau digest de taille size à l'aide de la chaine chaine.
+ /**
+ * @brief Create an SHA over 256 bits on a digest array of bytes.
+ *
+ * @param chain : Chain to hash
+ * @param digest : An array of bytes (8 bits)
+ * @param size : Length of the array digest
+ *
+ * **Warning** digest will be modified.
+ * Digest must be an array of byte with 32 entries
+ */
void getSHA_256(std::string chain, byte* digest, int size); //Retourne SHA_256
private:
- //Arrête le programme en cas de taille de Digest invalide et affiche une erreur.
+ /**
+ * @brief Check the digest size
+ *
+ * @param sizeRequired : Digest size expected
+ * @param size : Given digest size
+ *
+ * Throw an exception, and stop the programm if
+ * sizeRequired != size
+ * Use getInvalidDigestSizeError method.
+ */
void checkDigestSize(int sizeRequired, int size);
- //Assemble et retourne les messages d'erreurs de type : InvalidDigestSizeError
+ /**
+ * @brief Make and error message.
+ *
+ * @param sizeRequired : Digest size expected
+ * @param size : Given digest size
+ *
+ * @return a string correspond to the error message
+ *
+ * Construct an error message with sizeRequired and size.
+ */
std::string getInvalidDigestSizeError(int sizeRequired, int size);
diff --git a/Readme.md b/Readme.md
index 52a795d..1f10cca 100644
--- a/Readme.md
+++ b/Readme.md
@@ -3,7 +3,7 @@
##Présentation
->**forgetIt** est un projet open-source permettant une gestion, une sauvegarde de vos mots de passe de manière sécurisé.<br />
+> **forgetIt** est un projet open-source permettant une gestion, une sauvegarde de vos mots de passe de manière sécurisé.<br />
Pour cela **forgetIt** utilise des algorithmes de cryptages ayant fait leurs preuves issue de la bibliothèque *crypto++*.<br />
La conception d'une interface graphique est prévue, et sera basé sur la bibliothèque *GTK+*.<br />
diff --git a/main.cpp b/main.cpp
index fc3b22a..45f62de 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,19 +1,40 @@
-//----- Includes std -----
+/**
+ * @file main.cpp
+ * @brief Entry point
+ * @author manzerbredes
+ * @version Prototype
+ * @date 8 Mars 2015
+ *
+ * Entry point of the application.
+ *
+ */
+
+
+
+//----- std -----
#include <iostream>
#include <string>
-//----- Includes personnal Class -----
+//----- class -----
#include "CryptClass/HASHCrypt.hpp"
+
//----- Prototype -----
void aff(std::string chaine);
-//----- Program Start -----
-int main(){
+/**
+ * @fn int main(int argc, char *argv[])
+ * @author manzerbredes
+ * @brief main function
+ * @param argc contain *argv[] length
+ * @param *argv[] contain the arguments list
+ * @return Return code, an int.
+ */
+int main(int argc, char *argv[]){