1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- #ifndef UTILS_H
- #define UTILS_H
- #include <unistd.h>
- #include <vector>
- #include "sys/socket.h"
- #include <cstdint>
- #include <netdb.h>
- #include <cstring>
- #include <memory>
- #include <chrono>
- #include <string>
- #include <sstream>
- #include <iostream>
- #include <iomanip>
- #define HMAC_SHA1_BLOCKSIZE 64
- unsigned long long getCurrentTimestamp();
- uint64_t hton64(uint64_t value);
- std::vector<uint8_t> bigNumMultiply(std::vector<uint8_t> num, int n);
- std::vector<uint8_t> bigNumAdd(std::vector<uint8_t> num, int n);
- unsigned char h2int(char c);
- std::string urlDecode(std::string str);
- std::string bytesToHexString(std::vector<uint8_t> &bytes);
- template <typename T>
- T extract(const std::vector<unsigned char> &v, int pos)
- {
- T value;
- memcpy(&value, &v[pos], sizeof(T));
- return value;
- }
- template <typename T>
- std::vector<uint8_t> pack(T data)
- {
- std::vector<std::uint8_t> rawData( (std::uint8_t*)&data, (std::uint8_t*)&(data) + sizeof(T));
- return rawData;
- }
- #endif
|