Blame view

src/crypter.h 1.08 KB
7ba6afb5   Steven de Ridder   Initial commit. d...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
  #ifndef OSDEV_COMPONENTS_CRYPTER_H
  #define OSDEV_COMPONENTS_CRYPTER_H
  
  // std
  #include <string>
  
  namespace osdev {
  namespace components {
  
  /**
   * @brief Provides encryption/hashing functionality.
   */
  class Crypter
  {
  public:
      /**
       * @brief Defines the encryption/hashing algorithms.
       */
      enum class AlgorithmEnum
      {
          MD0,            ///< Empty initializer.
          MD2,
          MD5,
          MDC2,
          SHA1,
          SHA224,
          SHA256,
          SHA384,
          SHA512,
          RIPEMD160
      };
  
      /**
       * @brief Constructs a default instance of Crypter.
       */
      Crypter();
  
      /**
       * @brief Encrypts the specified message using the specified algorithm.
       * @param message The message to encrypt.
       * @param algo The encryption algorithm to use. The default value is SHA256.
       * @return The encrypted string.
       */
      static std::string encrypt( const std::string& message, Crypter::AlgorithmEnum algo = Crypter::AlgorithmEnum::SHA256 );
  };
  
  }   /* End namespace components */
  }   /* End namespace osdev */
  
  #endif /* OSDEV_COMPONENTS_CRYPTER_H */