#pragma once #include namespace visione::crypto { std::string sha256(const std::string &value); std::string randomNumericCode(int digits); std::string randomToken(); std::string randomBytes(size_t size); std::string hashSecret(const std::string &secret); std::string pemFromRsaJwk(const std::string &n, const std::string &e, const std::string &d = {}, const std::string &p = {}, const std::string &q = {}); } // namespace visione::crypto