This repository has been archived on 2022-02-10. You can view files and clone it, but cannot push or open issues or pull requests.
fortuna/generator.h
surtur d8adb1af87
All checks were successful
continuous-integration/drone/push Build is passing
refactor(all): using namespace considered harmful
* project-wide refactor to accomodate removal of "using namespace xyz"
  to stop polluting top-level namespace with "std" as recommended by the
  Google C++ style guide.
* use a pre-commit hook to enforce this

ref:
https://google.github.io/styleguide/cppguide.html#Namespaces
2021-11-13 22:13:50 +01:00

36 lines
738 B
C++

#ifndef FORTUNA_GENERATOR_H
#define FORTUNA_GENERATOR_H
#include <string>
namespace fortuna {
namespace generator {
class Generator {
public:
void initialize_generator();
auto generate_blocks(unsigned int k_blocks) -> std::string;
private:
struct G_state;
auto reseed(const std::string& s) -> void;
auto do_sha(const std::string& k_n_s) -> std::string;
auto do_crypto(int64_t k, unsigned __int128 ctr) -> std::string;
/* n is the number of random bytes to generate */
auto generate_random_data(uint n) -> std::string;
auto strtolowerpls(std::string &s) -> std::string;
protected:
auto get_state() -> Generator::G_state;
}; // class generator
} //namespace generator
} //namespace fortuna
#endif//FORTUNA_GENERATOR_H