增加一些用于relay的方法

This commit is contained in:
CounterFire2023 2023-10-17 11:48:24 +08:00
parent a5aa4b1374
commit 0c6d9286d3
12 changed files with 69 additions and 1 deletions

View File

@ -43,8 +43,10 @@ extern "C"
#include <regex>
#include "scrypt/native-crypto.h"
#include "storage/local-storage/LocalStorage.h"
using namespace cocos2d;
using namespace std;
se::Object *__jsbObj = nullptr;
se::Object *__glObj = nullptr;
@ -1365,6 +1367,37 @@ static bool JSB_walletSign(se::State &s)
return false;
}
SE_BIND_FUNC(JSB_walletSign)
// for relay, generate tmp address and signature
static bool JSB_preRegistClient(se::State &s)
{
const auto &args = s.args();
size_t argc = args.size();
CC_UNUSED bool ok = true;
if (argc > 0)
{
string msg;
ok = seval_to_std_string(args[0], &msg);
SE_PRECONDITION2(ok, false, "Error processing msg");
string key = "tmp_client_info";
string value;
ok = localStorageGetItem(key, &value);
string pk = getpk();
if (!ok) {
value = ramdonKey();
string str_encrypt = aes_encrypt(value.c_str(), pk.c_str());
localStorageSetItem(key, str_encrypt);
} else {
value = aes_decrypt(value.c_str(), pk.c_str());
}
string result = simple_sign(msg.c_str(), value.c_str());
s.rval().setString(result);
return true;
}
SE_REPORT_ERROR("wrong number of arguments: %d, was expecting %d", (int)argc, 1);
return false;
}
SE_BIND_FUNC(JSB_preRegistClient)
static bool JSB_saveLocalStorage(se::State &s)
{
@ -1555,9 +1588,12 @@ std::string decrypt_aes(std::string &content, std::string &key)
{
return aes_decrypt(content.c_str(), key.c_str());
}
std::string getpk() {
return "02aaaafbd375639879d6a694893dd14413662d90c59abaceb6cc4c791aa0834352";
}
std::string generate_clientid(std::string &msg)
{
std::string pk = "02aaaafbd375639879d6a694893dd14413662d90c59abaceb6cc4c791aa0834352";
std::string pk = getpk();
// attach client id to msg
std::string msg_str = msg;
msg_str += "_clientid";
@ -1612,6 +1648,7 @@ bool jsb_register_global_variables(se::Object *global)
__jsbObj->defineFunction("prepareWallet", _SE(JSB_prepareWallet));
__jsbObj->defineFunction("hashSvrPass", _SE(JSB_hashSvrPass));
__jsbObj->defineFunction("walletSign", _SE(JSB_walletSign));
__jsbObj->defineFunction("preRegistClient", _SE(JSB_preRegistClient));
__jsbObj->defineFunction("walletSignTran", _SE(JSB_walletSignTran));
__jsbObj->defineFunction("walletSecKey", _SE(JSB_walletSecKey));
__jsbObj->defineFunction("hexDeflate", _SE(JSB_hexDeflate));

View File

@ -53,3 +53,4 @@ bool jsb_global_load_image(const std::string &path, const se::Value &callbackVal
std::string encrypt_aes(std::string &content, std::string &key);
std::string decrypt_aes(std::string &content, std::string &key);
std::string generate_clientid(std::string &content);
std::string getpk();

View File

@ -18,6 +18,8 @@ char *sign_for_tran(const char *msg_key,
char *rencrypt(const char *pk, const char *msg);
char *rdecrypt(const char *sk, const char *msg);
char *wallet_encrypt(const char *msg_key,
const char *master_key,
const char *second_key,
@ -45,3 +47,7 @@ char *local_pass_hasher(const char *password);
bool verify_local_pass(const char *password, const char *pass_hash);
char *generate_client_key(const char *password, const char *openid, const char *salt);
char *simple_sign(const char *content, const char *key);
char *ramdonKey(void);

Binary file not shown.

View File

@ -18,6 +18,8 @@ char *sign_for_tran(const char *msg_key,
char *rencrypt(const char *pk, const char *msg);
char *rdecrypt(const char *sk, const char *msg);
char *wallet_encrypt(const char *msg_key,
const char *master_key,
const char *second_key,
@ -45,3 +47,7 @@ char *local_pass_hasher(const char *password);
bool verify_local_pass(const char *password, const char *pass_hash);
char *generate_client_key(const char *password, const char *openid, const char *salt);
char *simple_sign(const char *content, const char *key);
char *ramdonKey(void);

Binary file not shown.

View File

@ -18,6 +18,8 @@ char *sign_for_tran(const char *msg_key,
char *rencrypt(const char *pk, const char *msg);
char *rdecrypt(const char *sk, const char *msg);
char *wallet_encrypt(const char *msg_key,
const char *master_key,
const char *second_key,
@ -45,3 +47,7 @@ char *local_pass_hasher(const char *password);
bool verify_local_pass(const char *password, const char *pass_hash);
char *generate_client_key(const char *password, const char *openid, const char *salt);
char *simple_sign(const char *content, const char *key);
char *ramdonKey(void);

Binary file not shown.

View File

@ -18,6 +18,8 @@ char *sign_for_tran(const char *msg_key,
char *rencrypt(const char *pk, const char *msg);
char *rdecrypt(const char *sk, const char *msg);
char *wallet_encrypt(const char *msg_key,
const char *master_key,
const char *second_key,
@ -45,3 +47,7 @@ char *local_pass_hasher(const char *password);
bool verify_local_pass(const char *password, const char *pass_hash);
char *generate_client_key(const char *password, const char *openid, const char *salt);
char *simple_sign(const char *content, const char *key);
char *ramdonKey(void);

Binary file not shown.

View File

@ -18,6 +18,8 @@ char *sign_for_tran(const char *msg_key,
char *rencrypt(const char *pk, const char *msg);
char *rdecrypt(const char *sk, const char *msg);
char *wallet_encrypt(const char *msg_key,
const char *master_key,
const char *second_key,
@ -45,3 +47,7 @@ char *local_pass_hasher(const char *password);
bool verify_local_pass(const char *password, const char *pass_hash);
char *generate_client_key(const char *password, const char *openid, const char *salt);
char *simple_sign(const char *content, const char *key);
char *ramdonKey(void);

Binary file not shown.