Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-02 08:51:49

0001 #ifndef CRYPTOGRAPHIC_HASH_I_H
0002 #define CRYPTOGRAPHIC_HASH_I_H
0003 
0004 /**
0005  * @file CryptographicHashI.h
0006  * @author Bryan BERTHOU (SPhN / CEA Saclay)
0007  * @date March 24, 2016
0008  * @version 1.0
0009  */
0010 
0011 #include <string>
0012 
0013 #include "../../BaseObject.h"
0014 
0015 namespace PARTONS {
0016 
0017 /**
0018  * @class CryptographicHashI
0019  *
0020  * @brief Abstract class for modules generating hash values.
0021  *
0022  * This class acts as an abstract (mother) class for modules used in the generation of hash values for input strings of characters.
0023  */
0024 class CryptographicHashI: public BaseObject {
0025 
0026 public:
0027 
0028     /**
0029      * Constructor.
0030      * @param className Name of class.
0031      */
0032     CryptographicHashI(const std::string &className);
0033 
0034     /**
0035      * Destructor.
0036      */
0037     virtual ~CryptographicHashI();
0038 
0039     /**
0040      * Generate SHA-1 hash value for a given string of characters.
0041      * @param string Input string.
0042      */
0043     virtual std::string generateSHA1HashSum(
0044             const std::string &string) const = 0;
0045 };
0046 
0047 } /* namespace PARTONS */
0048 
0049 #endif /* CRYPTOGRAPHIC_HASH_I_H */