Skip to content

ProofSystem/include/ProofSystem/Crypto3Util.hpp

Crypto3 utilities module. More...

Classes

Name
struct Crypto3Util

Detailed Description

Crypto3 utilities module.

Date: 2024-01-30 Henrique A. Klein ([email protected])

Source code

#ifndef _CRYPTO3_UTIL_HPP_
#define _CRYPTO3_UTIL_HPP_
#include <nil/crypto3/multiprecision/cpp_int.hpp>

struct Crypto3Util
{

    static nil::crypto3::multiprecision::cpp_int BytesToCppInt( std::vector<std::uint8_t> &bytes )
    {
        nil::crypto3::multiprecision::cpp_int retval;
        for ( uint8_t byte : bytes )
        {
            retval = ( retval << 8 ) | byte;
        }

        return retval;
    }
    static std::vector<std::uint8_t> CppIntToBytes(nil::crypto3::multiprecision::cpp_int &big_num )
    {
        std::vector<uint8_t> bytes;
        nil::crypto3::multiprecision::cpp_int remaining = big_num;
        while ( remaining != 0 )
        {
            bytes.insert(bytes.begin(), static_cast<uint8_t>( remaining & 0xFF ) );
            remaining >>= 8;
        }
        return bytes;
    }
};

#endif

Updated on 2026-03-04 at 13:10:44 -0800