surtur
d8adb1af87
All checks were successful
continuous-integration/drone/push Build is passing
* 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
36 lines
738 B
C++
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
|