Page principale | Hiérarchie des classes | Liste alphabétique | Liste des classes | Liste des fichiers | Membres de classe | Membres de fichier

Cryptage.h

Aller à la documentation de ce fichier.
00001 /*! \file Cryptage.h
00002     \brief Encode et décode des données.
00003 
00004     Cryptage matrice et XOR.
00005 
00006     \author     aerith (www.aerith.fr)
00007     \version    1.0
00008     \date       31/10/2007
00009 */
00010 
00011 
00012 #ifndef INCLUDE_RSRC_CRYPTAGE
00013 #define INCLUDE_RSRC_CRYPTAGE
00014 
00015 #include    <string.h>
00016 #include    <stdlib.h>
00017 
00018 
00019 //! Encode et décode des données
00020 /*! Cryptage rijndael.
00021 */
00022 class Cryptage
00023 {
00024 private :
00025     int     SizeKey;            /*!< Taille de la clé.                      */
00026     char    *Key;               /*!< Clé de l'encodage.                     */
00027     int     SizeData;           /*!< Taille des datas.                      */
00028     char    *Data;              /*!< Matrice des données.                   */
00029 
00030     //! Traite les données
00031     /*! Encodes ou décode et stock le resulat dans \a Data.
00032         \param pBuffer données à traitées.
00033         \param iSize taille du buffer, si 0 prend la taille de \a pBuffer.
00034         \param iMode encode si diférent de 0.
00035     */
00036     void    Crypt(char *pBuffer, int iSize, int iMode);
00037 
00038 public  :
00039     /*! Initalisé avec des parametres par defaut.
00040         \param pKey clé utilisée pour le cryptage.
00041         \param iSizeKey taille de la clé de cryptage.
00042     */
00043     Cryptage(char *pKey = NULL, int iSizeKey = 0);
00044     
00045     /*! Libere la memoire proprement. 
00046     */
00047     ~Cryptage();
00048 
00049     //! Definie la clé
00050     /*! Definie la clé \a Key utilisé pour le cryptage.
00051         \param pKey clé utilisée pour le cryptage.
00052         \param iSizeKey taille de la clé de cryptage.
00053     */
00054     void    SetKey(char *pKey, int iSizeKey = 0);
00055 
00056     //! Encode les données
00057     /*! Encodes et stock le resulat dans \a Data.
00058         \param pBuffer données à traitées.
00059         \param iSize taille du buffer, si 0 prend la taille de \a pBuffer.
00060     */
00061     void    Encrypt(char *pBuffer, int iSize = 0);
00062     
00063     //! Décode les données
00064     /*! Décodes et stock le resulat dans \a Data.
00065         \param pBuffer données à traitées.
00066         \param iSize taille du buffer, si 0 prend la taille de \a pBuffer.
00067     */
00068     // decode et stock dans DecodedBuffer
00069     void    Decrypt(char *pBuffer, int iSize = 0);
00070     
00071     //! Retourne le resultat
00072     /*! Retourne le resultat du cryptage ou décryptaget.
00073         \return un pointeur sur \a Data.
00074         \sa GetSize()
00075     */
00076     inline char *Get()
00077     {
00078         return (char *)Data;
00079     };
00080 
00081     //! Retourne la taille du resultat
00082     /*! Retourne la taille du resultat du cryptage ou décryptage.
00083         \return la taille de se que retourne \a Get().
00084         \sa Get()
00085     */
00086     inline int      GetSize()
00087     {
00088         return SizeData;
00089     };
00090 };
00091 
00092 #endif
00093 

Généré le Thu Jan 24 12:36:03 2008 pour A.I.F. par  doxygen 1.3.9.1