123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- #pragma once
- #include "SpBase.h"
- #include<vector>
- #include<string>
- #include<map>
- extern void* logProducer;
- extern std::map<std::string, void*> g_logProducerArr;
- extern bool g_useMagic;
- extern bool g_logToFile;
- extern bool g_withMedia;
- extern bool g_withConsole;
- extern bool g_withLinkLog;
- extern bool g_hasInitCfg;
- #define DEFAULT_KEY_LEN 256
- #define DEFAULT_KEY_LEN 256
- std::vector<std::string> find_files(const std::string srcPath, const std::string fileName, bool isDir = false);
- std::string generateTimeStr(bool isSimple = false);
- DWORD SaveCefclientLog(std::string magicStr);
- bool SYSTEM_ON(std::string cmdLine, bool isWait = true);
- bool InitFileLogger(std::string dbgPath);
- void DbgToFileLogger(std::string msg);
- bool deleteDir_byFileSystem(const std::string srcPath);
- void InitTranslateFile(std::string srcFile);
- std::pair<unsigned long, std::string> splitStrToUserCodeAndErrMsg(std::string srcMsg);
- void InitUserCodeToMsgTip(CAutoArray<CSimpleStringA>& strErrorCodeArr, CAutoArray<CSimpleStringA>& strDescriptionArr, CAutoArray<CSimpleStringA>& strRemarkArr);
- struct ErrMsgStruct {
- std::string VTMCode;
- std::string errMsg;
- // 带参数的构造函数,参数有默认值
- ErrMsgStruct(const std::string& tmp_VTMCode = "", const std::string& tmp_errMsg = "") : VTMCode(tmp_VTMCode), errMsg(tmp_errMsg) {}
- };
- std::pair<unsigned long, ErrMsgStruct> getErrMsgByRemark(std::string srcMsg);
- std::string UtfToGbk(const char* utf8);
- std::string ConvertGBKToUtf8(std::string& strGBK);
- void hexdump(const char* buf, const int num);
- std::string hexdumpToString(const char* buf, const int num);
- bool modifyBySpecialStr(std::wstring& src);
- void receivehexdump(const char* buf, const int num);
- void doWithDebugModeData(const char* strMethod, const char* buf);
- #ifdef RVC_OS_LINUX
- std::vector<int> getUosBrowserPIDs();
- #endif
- class json_deal {
- public:
- static std::pair<bool, CSimpleStringA> getStringFromCjsonObj(void* object, const char* name);
- static std::pair<bool, int> getIntergerFromCjsonObj(void* object, const char* name);
- static std::pair<bool, double> getDoubleFromCjsonObj(void* object, const char* name);
- };
- #if (defined _WIN32 || defined _WIN64)
- long WINAPI printSEG(struct _EXCEPTION_POINTERS* ExceptionInfo);
- #else
- long printSEG();
- void set_traceback_path(std::string path);
- void seg_signal_handler(int signum);
- void normal_signal_handle(int signum);
- #endif
- typedef enum{
- WAIT_KEY_EXCHANGE,
- DATA_EXCHANGE
- }SM2ProtocolState;
- class SM2_Encrypt_Manager {
- public:
- SM2_Encrypt_Manager();
- ~SM2_Encrypt_Manager();
- bool GenerateSM2_key(std::string& pub, std::string& pri);
- std::string binToHex(const unsigned char* data, int len);
- void hexToBin(const std::string& hexStr, unsigned char* binData, int& binLen);
- void setOpposite(const std::string pub);
- std::pair<bool, std::string> checkSM2Enable();
- std::pair<std::string, std::string> EncryptMsg(std::string msg);//return signature, encryptMsg
- std::pair<bool, std::string> DecryptMsg(std::string sign, std::string msg);
- std::pair<bool, std::string> GenerateEncPubKey();
- bool verifySM2Manager();
- SM2ProtocolState getState()
- {
- return m_state;
- };
- void setState(SM2ProtocolState tmpState)
- {
- m_state = tmpState;
- };
- private:
- unsigned char m_public_key_buf[DEFAULT_KEY_LEN], m_private_key_buf[DEFAULT_KEY_LEN], m_opposite_public_key_buf[DEFAULT_KEY_LEN];
- int m_public_key_buf_len, m_private_key_buf_len, m_opposite_public_key_buf_len;
- std::string m_public_key, m_private_key, m_opposite_public_key;
- SM2ProtocolState m_state;
-
- };
|