Enigma  3.2.0
A Simple, Reliable and Efficient Encryption Tool
DecryptTextScene.hpp
Go to the documentation of this file.
1 #pragma once
2 #include "Scene.hpp"
4 
6 class DecryptTextScene : public Enigma::Scene {
7  public: /* Constructors / Destructor */
8  explicit DecryptTextScene();
9  virtual ~DecryptTextScene() = default;
10 
11  private: /* Overrides */
12  void OnCreate() override;
13  [[maybe_unused]] void OnUpdate(const float& dt) override;
14  void OnDraw() override;
15  void OnImGuiDraw() override;
16  void OnEvent(Event& event) override;
17  void OnDestroy() override;
18 
19  private: /* Callbacks */
20  void OnDecryptButtonPressed();
21  void OnBackButtonPressed();
22  void OnCopyDecryptedTextButtonPressed();
23 
24  private:
25  Algorithm::Type m_type; // Algorithm type, AES, ChaCha, TripleDES... to help us create polymorphic algorithm
26  std::string m_recovered_text; // Decrypted Text
27  std::vector<byte> m_cipher; // Encrypted text
28  std::string m_cipher_base64; // Encrypted text in Base64 to be Decrypted
29  std::string m_password; // Encryption password
30 
31  // Rsa special stuff
32  std::string m_rsa_private_key; // Only private key is needed for decryption (pub key used for verification)
33  std::size_t m_selected_rsa_keySize = 4096;
34 };
#define NS_ENIGMA_BEGIN
Enable/Disable Assertions.
Definition: Macros.hpp:13
#define NS_ENIGMA_END
Definition: Macros.hpp:14
virtual ~DecryptTextScene()=default
Definition: Event.hpp:66