增加aes相关方法
This commit is contained in:
parent
0c6d9286d3
commit
3e00bfb18f
@ -162,313 +162,6 @@ extern "C"
|
|||||||
return JNI_VERSION_1_4;
|
return JNI_VERSION_1_4;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************
|
|
||||||
* Cocos2dxActivity native functions implementation.
|
|
||||||
*****************************************************/
|
|
||||||
|
|
||||||
JNIEXPORT jintArray JNICALL JNI_ACTIVITY(getGLContextAttrs)(JNIEnv *env, jclass thiz)
|
|
||||||
{
|
|
||||||
// REFINE
|
|
||||||
int tmp[7] = {8, 8, 8,
|
|
||||||
8, 0, 0, 0};
|
|
||||||
jintArray glContextAttrsJava = env->NewIntArray(7);
|
|
||||||
env->SetIntArrayRegion(glContextAttrsJava, 0, 7, tmp);
|
|
||||||
|
|
||||||
return glContextAttrsJava;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************
|
|
||||||
* Cocos2dxRenderer native functions implementation.
|
|
||||||
*****************************************************/
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL JNI_RENDER(nativeInit)(JNIEnv *env, jclass thiz, jint w, jint h, jstring jDefaultResourcePath)
|
|
||||||
{
|
|
||||||
g_width = w;
|
|
||||||
g_height = h;
|
|
||||||
|
|
||||||
g_app = cocos_android_app_init(w, h);
|
|
||||||
|
|
||||||
g_isGameFinished = false;
|
|
||||||
ccInvalidateStateCache();
|
|
||||||
std::string defaultResourcePath = JniHelper::jstring2string(jDefaultResourcePath);
|
|
||||||
LOGD("nativeInit: %d, %d, %s", w, h, defaultResourcePath.c_str());
|
|
||||||
|
|
||||||
if (!defaultResourcePath.empty())
|
|
||||||
FileUtils::getInstance()->setDefaultResourceRootPath(defaultResourcePath);
|
|
||||||
|
|
||||||
se::ScriptEngine *se = se::ScriptEngine::getInstance();
|
|
||||||
se->addRegisterCallback(setCanvasCallback);
|
|
||||||
|
|
||||||
EventDispatcher::init();
|
|
||||||
|
|
||||||
g_app->start();
|
|
||||||
g_isStarted = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL JNI_RENDER(nativeRender)(JNIEnv *env)
|
|
||||||
{
|
|
||||||
if (g_isGameFinished)
|
|
||||||
{
|
|
||||||
// with Application destructor called, native resource will be released
|
|
||||||
delete g_app;
|
|
||||||
g_app = nullptr;
|
|
||||||
|
|
||||||
JniHelper::callStaticVoidMethod(JCLS_HELPER, "endApplication");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!g_isStarted)
|
|
||||||
{
|
|
||||||
auto scheduler = Application::getInstance()->getScheduler();
|
|
||||||
scheduler->removeAllFunctionsToBePerformedInCocosThread();
|
|
||||||
scheduler->unscheduleAll();
|
|
||||||
|
|
||||||
se::ScriptEngine::getInstance()->cleanup();
|
|
||||||
cocos2d::PoolManager::getInstance()->getCurrentPool()->clear();
|
|
||||||
|
|
||||||
// REFINE: Wait HttpClient, WebSocket, Audio thread to exit
|
|
||||||
|
|
||||||
ccInvalidateStateCache();
|
|
||||||
|
|
||||||
se::ScriptEngine *se = se::ScriptEngine::getInstance();
|
|
||||||
se->addRegisterCallback(setCanvasCallback);
|
|
||||||
|
|
||||||
EventDispatcher::init();
|
|
||||||
|
|
||||||
if (!g_app->applicationDidFinishLaunching())
|
|
||||||
{
|
|
||||||
g_isGameFinished = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
g_isStarted = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static std::chrono::steady_clock::time_point prevTime;
|
|
||||||
static std::chrono::steady_clock::time_point now;
|
|
||||||
static float dt = 0.f;
|
|
||||||
static float dtSum = 0.f;
|
|
||||||
static uint32_t jsbInvocationTotalCount = 0;
|
|
||||||
static uint32_t jsbInvocationTotalFrames = 0;
|
|
||||||
bool downsampleEnabled = g_app->isDownsampleEnabled();
|
|
||||||
|
|
||||||
if (downsampleEnabled)
|
|
||||||
g_app->getRenderTexture()->prepare();
|
|
||||||
|
|
||||||
g_app->getScheduler()->update(dt);
|
|
||||||
EventDispatcher::dispatchTickEvent(dt);
|
|
||||||
|
|
||||||
if (downsampleEnabled)
|
|
||||||
g_app->getRenderTexture()->draw();
|
|
||||||
|
|
||||||
PoolManager::getInstance()->getCurrentPool()->clear();
|
|
||||||
|
|
||||||
now = std::chrono::steady_clock::now();
|
|
||||||
dt = std::chrono::duration_cast<std::chrono::microseconds>(now - prevTime).count() / 1000000.f;
|
|
||||||
|
|
||||||
prevTime = std::chrono::steady_clock::now();
|
|
||||||
|
|
||||||
if (_isOpenDebugView)
|
|
||||||
{
|
|
||||||
dtSum += dt;
|
|
||||||
++jsbInvocationTotalFrames;
|
|
||||||
jsbInvocationTotalCount += __jsbInvocationCount;
|
|
||||||
|
|
||||||
if (dtSum > 1.0f)
|
|
||||||
{
|
|
||||||
dtSum = 0.0f;
|
|
||||||
setJSBInvocationCountJNI(jsbInvocationTotalCount / jsbInvocationTotalFrames);
|
|
||||||
jsbInvocationTotalCount = 0;
|
|
||||||
jsbInvocationTotalFrames = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
__jsbInvocationCount = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL JNI_RENDER(nativeOnPause)()
|
|
||||||
{
|
|
||||||
if (g_isGameFinished)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (g_app)
|
|
||||||
g_app->onPause();
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL JNI_RENDER(nativeOnResume)()
|
|
||||||
{
|
|
||||||
if (g_isGameFinished)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (g_app)
|
|
||||||
g_app->onResume();
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL JNI_RENDER(nativeInsertText)(JNIEnv *env, jclass thiz, jstring text)
|
|
||||||
{
|
|
||||||
// REFINE
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL JNI_RENDER(nativeDeleteBackward)(JNIEnv *env, jclass thiz)
|
|
||||||
{
|
|
||||||
// REFINE
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT jstring JNICALL JNI_RENDER(nativeGetContentText)()
|
|
||||||
{
|
|
||||||
// REFINE
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL JNI_RENDER(nativeOnSurfaceChanged)(JNIEnv *env, jclass thiz, jint w, jint h)
|
|
||||||
{
|
|
||||||
// REFINE
|
|
||||||
}
|
|
||||||
|
|
||||||
/***********************************************************
|
|
||||||
* Cocos2dxAccelerometer native functions implementation.
|
|
||||||
***********************************************************/
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL JNI_ACCELEROMETER(onSensorChanged)(JNIEnv *env, jclass thiz, jfloat x, jfloat y, jfloat z, jlong timeStamp)
|
|
||||||
{
|
|
||||||
// REFINE
|
|
||||||
}
|
|
||||||
|
|
||||||
/***********************************************************
|
|
||||||
* Touches native functions implementation.
|
|
||||||
***********************************************************/
|
|
||||||
|
|
||||||
static void dispatchTouchEventWithOnePoint(JNIEnv *env, cocos2d::TouchEvent::Type type, jint id, jfloat x, jfloat y)
|
|
||||||
{
|
|
||||||
if (g_isGameFinished)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
cocos2d::TouchEvent touchEvent;
|
|
||||||
touchEvent.type = type;
|
|
||||||
|
|
||||||
uint8_t devicePixelRatio = Application::getInstance()->getDevicePixelRatio();
|
|
||||||
cocos2d::TouchInfo touchInfo;
|
|
||||||
touchInfo.index = id;
|
|
||||||
touchInfo.x = x / devicePixelRatio;
|
|
||||||
touchInfo.y = y / devicePixelRatio;
|
|
||||||
touchEvent.touches.push_back(touchInfo);
|
|
||||||
|
|
||||||
cocos2d::EventDispatcher::dispatchTouchEvent(touchEvent);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void dispatchTouchEventWithPoints(JNIEnv *env, cocos2d::TouchEvent::Type type, jintArray ids, jfloatArray xs, jfloatArray ys)
|
|
||||||
{
|
|
||||||
if (g_isGameFinished)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
cocos2d::TouchEvent touchEvent;
|
|
||||||
touchEvent.type = type;
|
|
||||||
|
|
||||||
int size = env->GetArrayLength(ids);
|
|
||||||
jint id[size];
|
|
||||||
jfloat x[size];
|
|
||||||
jfloat y[size];
|
|
||||||
|
|
||||||
env->GetIntArrayRegion(ids, 0, size, id);
|
|
||||||
env->GetFloatArrayRegion(xs, 0, size, x);
|
|
||||||
env->GetFloatArrayRegion(ys, 0, size, y);
|
|
||||||
|
|
||||||
uint8_t devicePixelRatio = Application::getInstance()->getDevicePixelRatio();
|
|
||||||
for (int i = 0; i < size; i++)
|
|
||||||
{
|
|
||||||
cocos2d::TouchInfo touchInfo;
|
|
||||||
touchInfo.index = id[i];
|
|
||||||
touchInfo.x = x[i] / devicePixelRatio;
|
|
||||||
touchInfo.y = y[i] / devicePixelRatio;
|
|
||||||
touchEvent.touches.push_back(touchInfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
cocos2d::EventDispatcher::dispatchTouchEvent(touchEvent);
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL JNI_RENDER(nativeTouchesBegin)(JNIEnv *env, jclass thiz, jint id, jfloat x, jfloat y)
|
|
||||||
{
|
|
||||||
if (g_isGameFinished)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
dispatchTouchEventWithOnePoint(env, cocos2d::TouchEvent::Type::BEGAN, id, x, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL JNI_RENDER(nativeTouchesEnd)(JNIEnv *env, jclass thiz, jint id, jfloat x, jfloat y)
|
|
||||||
{
|
|
||||||
if (g_isGameFinished)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
dispatchTouchEventWithOnePoint(env, cocos2d::TouchEvent::Type::ENDED, id, x, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL JNI_RENDER(nativeTouchesMove)(JNIEnv *env, jclass thiz, jintArray ids, jfloatArray xs, jfloatArray ys)
|
|
||||||
{
|
|
||||||
if (g_isGameFinished)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
dispatchTouchEventWithPoints(env, cocos2d::TouchEvent::Type::MOVED, ids, xs, ys);
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL JNI_RENDER(nativeTouchesCancel)(JNIEnv *env, jclass thiz, jintArray ids, jfloatArray xs, jfloatArray ys)
|
|
||||||
{
|
|
||||||
if (g_isGameFinished)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
dispatchTouchEventWithPoints(env, cocos2d::TouchEvent::Type::CANCELLED, ids, xs, ys);
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT jboolean JNICALL JNI_RENDER(nativeKeyEvent)(JNIEnv *env, jclass thiz, jint keyCode, jboolean isPressed)
|
|
||||||
{
|
|
||||||
if (g_isGameFinished)
|
|
||||||
{
|
|
||||||
return JNI_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
int keyInWeb = -1;
|
|
||||||
// key values in web, refer to http://docs.cocos.com/creator/api/en/enums/KEY.html
|
|
||||||
switch (keyCode)
|
|
||||||
{
|
|
||||||
case KEYCODE_BACK:
|
|
||||||
keyInWeb = 6;
|
|
||||||
break;
|
|
||||||
case KEYCODE_ENTER:
|
|
||||||
keyInWeb = 13;
|
|
||||||
break;
|
|
||||||
case KEYCODE_MENU:
|
|
||||||
keyInWeb = 18;
|
|
||||||
break;
|
|
||||||
case KEYCODE_DPAD_UP:
|
|
||||||
keyInWeb = 1003;
|
|
||||||
break;
|
|
||||||
case KEYCODE_DPAD_DOWN:
|
|
||||||
keyInWeb = 1004;
|
|
||||||
break;
|
|
||||||
case KEYCODE_DPAD_LEFT:
|
|
||||||
keyInWeb = 1000;
|
|
||||||
break;
|
|
||||||
case KEYCODE_DPAD_RIGHT:
|
|
||||||
keyInWeb = 1001;
|
|
||||||
break;
|
|
||||||
case KEYCODE_DPAD_CENTER:
|
|
||||||
keyInWeb = 1005;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
keyInWeb = 0; // If the key can't be identified, this value is 0
|
|
||||||
}
|
|
||||||
KeyboardEvent event;
|
|
||||||
event.key = keyInWeb;
|
|
||||||
event.action = isPressed ? KeyboardEvent::Action::PRESS : KeyboardEvent::Action::RELEASE;
|
|
||||||
EventDispatcher::dispatchKeyboardEvent(event);
|
|
||||||
|
|
||||||
return JNI_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/***********************************************************
|
/***********************************************************
|
||||||
* Cocos2dxHelper native functions implementation.
|
* Cocos2dxHelper native functions implementation.
|
||||||
@ -476,8 +169,8 @@ extern "C"
|
|||||||
|
|
||||||
JNIEXPORT void JNICALL JNI_HELPER(nativeSetApkPath)(JNIEnv *env, jclass thiz, jstring apkPath)
|
JNIEXPORT void JNICALL JNI_HELPER(nativeSetApkPath)(JNIEnv *env, jclass thiz, jstring apkPath)
|
||||||
{
|
{
|
||||||
LOGD("nativeSetApkPath: %s", apkPath);
|
|
||||||
g_apkPath = JniHelper::jstring2string(apkPath);
|
g_apkPath = JniHelper::jstring2string(apkPath);
|
||||||
|
LOGD("nativeSetApkPath: %s", g_apkPath.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL JNI_HELPER(nativeSetContext)(JNIEnv *env, jclass thiz, jobject context, jobject assetManager)
|
JNIEXPORT void JNICALL JNI_HELPER(nativeSetContext)(JNIEnv *env, jclass thiz, jobject context, jobject assetManager)
|
||||||
@ -522,8 +215,6 @@ extern "C"
|
|||||||
se::AutoHandleScope hs;
|
se::AutoHandleScope hs;
|
||||||
std::string coder = "jc.wallet.currentAccount().address";
|
std::string coder = "jc.wallet.currentAccount().address";
|
||||||
se::ScriptEngine::getInstance()->evalString(coder.c_str(), coder.size(), &rval);
|
se::ScriptEngine::getInstance()->evalString(coder.c_str(), coder.size(), &rval);
|
||||||
// jsb_run_code("jc.wallet.currentAccount().address", &rval);
|
|
||||||
cocos2d::log("\n cpp init wallet: %s \n", &rval);
|
|
||||||
}
|
}
|
||||||
} // end of extern "C"
|
} // end of extern "C"
|
||||||
|
|
||||||
|
@ -356,6 +356,7 @@ void Application::loadKeyLocal(const std::string &account, std::string *outItem)
|
|||||||
void Application::toWallet(const std::string &url) {
|
void Application::toWallet(const std::string &url) {
|
||||||
UIApplication *app = [UIApplication sharedApplication];
|
UIApplication *app = [UIApplication sharedApplication];
|
||||||
NSString *uri = [NSString stringWithCString:url.c_str() encoding:NSUTF8StringEncoding];
|
NSString *uri = [NSString stringWithCString:url.c_str() encoding:NSUTF8StringEncoding];
|
||||||
|
NSLog(@"open url: %@", uri);
|
||||||
[app openURL:[NSURL URLWithString:uri] options:@{} completionHandler:^(BOOL success) {
|
[app openURL:[NSURL URLWithString:uri] options:@{} completionHandler:^(BOOL success) {
|
||||||
if (success) {
|
if (success) {
|
||||||
NSLog(@"Opened url");
|
NSLog(@"Opened url");
|
||||||
|
@ -1380,14 +1380,10 @@ static bool JSB_preRegistClient(se::State &s)
|
|||||||
SE_PRECONDITION2(ok, false, "Error processing msg");
|
SE_PRECONDITION2(ok, false, "Error processing msg");
|
||||||
string key = "tmp_client_info";
|
string key = "tmp_client_info";
|
||||||
string value;
|
string value;
|
||||||
ok = localStorageGetItem(key, &value);
|
ok = load_encrypt_item(key, &value);
|
||||||
string pk = getpk();
|
|
||||||
if (!ok) {
|
if (!ok) {
|
||||||
value = ramdonKey();
|
value = ramdonKey();
|
||||||
string str_encrypt = aes_encrypt(value.c_str(), pk.c_str());
|
store_encrypt_item(key, value);
|
||||||
localStorageSetItem(key, str_encrypt);
|
|
||||||
} else {
|
|
||||||
value = aes_decrypt(value.c_str(), pk.c_str());
|
|
||||||
}
|
}
|
||||||
string result = simple_sign(msg.c_str(), value.c_str());
|
string result = simple_sign(msg.c_str(), value.c_str());
|
||||||
s.rval().setString(result);
|
s.rval().setString(result);
|
||||||
@ -1399,6 +1395,64 @@ static bool JSB_preRegistClient(se::State &s)
|
|||||||
}
|
}
|
||||||
SE_BIND_FUNC(JSB_preRegistClient)
|
SE_BIND_FUNC(JSB_preRegistClient)
|
||||||
|
|
||||||
|
static bool JSB_prepareRelayRSAKey(se::State &s)
|
||||||
|
{
|
||||||
|
string key_str = rsa_key_pair();
|
||||||
|
size_t pos = key_str.find("|");
|
||||||
|
string pk;
|
||||||
|
string sk;
|
||||||
|
if (pos != std::string::npos) {
|
||||||
|
pk = key_str.substr(pos + 1, key_str.length());
|
||||||
|
sk = key_str.substr(0, pos);
|
||||||
|
store_encrypt_item("relay_rsa_sk", sk);
|
||||||
|
s.rval().setString(pk);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
SE_BIND_FUNC(JSB_prepareRelayRSAKey)
|
||||||
|
|
||||||
|
static bool JSB_parseRelayAESKey(se::State &s)
|
||||||
|
{
|
||||||
|
const auto &args = s.args();
|
||||||
|
size_t argc = args.size();
|
||||||
|
CC_UNUSED bool ok = true;
|
||||||
|
if (argc > 0)
|
||||||
|
{
|
||||||
|
string key_encrypted;
|
||||||
|
ok = seval_to_std_string(args[0], &key_encrypted);
|
||||||
|
SE_PRECONDITION2(ok, false, "Error processing key_encrypted");
|
||||||
|
|
||||||
|
string key = "tmp_client_info";
|
||||||
|
string sk_rsa;
|
||||||
|
ok = load_encrypt_item("relay_rsa_sk", &sk_rsa);
|
||||||
|
SE_PRECONDITION2(ok, false, "No local RSA private key found");
|
||||||
|
|
||||||
|
string key_aes = rsa_decrypt(key_encrypted.c_str(), sk_rsa.c_str());
|
||||||
|
CCLOG("aes key: %s", key_aes.c_str());
|
||||||
|
store_encrypt_item("relay_aes_key", key_aes);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
SE_REPORT_ERROR("wrong number of arguments: %d, was expecting %d", (int)argc, 1);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
SE_BIND_FUNC(JSB_parseRelayAESKey)
|
||||||
|
|
||||||
|
static bool JSB_loadRelayAESKey(se::State &s)
|
||||||
|
{
|
||||||
|
const auto &args = s.args();
|
||||||
|
size_t argc = args.size();
|
||||||
|
CC_UNUSED bool ok = true;
|
||||||
|
string key;
|
||||||
|
ok = load_encrypt_item("relay_aes_key", &key);
|
||||||
|
SE_PRECONDITION2(ok, false, "No local AES key found");
|
||||||
|
s.rval().setString(key);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
SE_BIND_FUNC(JSB_loadRelayAESKey)
|
||||||
|
|
||||||
|
|
||||||
static bool JSB_saveLocalStorage(se::State &s)
|
static bool JSB_saveLocalStorage(se::State &s)
|
||||||
{
|
{
|
||||||
const auto &args = s.args();
|
const auto &args = s.args();
|
||||||
@ -1579,6 +1633,24 @@ static bool JSB_walletDecrypt(se::State &s)
|
|||||||
}
|
}
|
||||||
SE_BIND_FUNC(JSB_walletDecrypt)
|
SE_BIND_FUNC(JSB_walletDecrypt)
|
||||||
|
|
||||||
|
void store_encrypt_item(string key, string value) {
|
||||||
|
string pk = getpk();
|
||||||
|
string str_encrypt = aes_encrypt(value.c_str(), pk.c_str());
|
||||||
|
localStorageSetItem(key, str_encrypt);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool load_encrypt_item(string key, string *value) {
|
||||||
|
string pk = getpk();
|
||||||
|
CC_UNUSED bool ok = true;
|
||||||
|
ok = localStorageGetItem(key, value);
|
||||||
|
|
||||||
|
if (ok) {
|
||||||
|
string tmp = aes_decrypt(value->c_str(), pk.c_str());
|
||||||
|
value->assign(tmp);
|
||||||
|
}
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
std::string encrypt_aes(std::string &content, std::string &key)
|
std::string encrypt_aes(std::string &content, std::string &key)
|
||||||
{
|
{
|
||||||
return aes_encrypt(content.c_str(), key.c_str());
|
return aes_encrypt(content.c_str(), key.c_str());
|
||||||
@ -1659,6 +1731,12 @@ bool jsb_register_global_variables(se::Object *global)
|
|||||||
__jsbObj->defineFunction("loadLocalStorage", _SE(JSB_loadLocalStorage));
|
__jsbObj->defineFunction("loadLocalStorage", _SE(JSB_loadLocalStorage));
|
||||||
__jsbObj->defineFunction("saveLocalStorage", _SE(JSB_saveLocalStorage));
|
__jsbObj->defineFunction("saveLocalStorage", _SE(JSB_saveLocalStorage));
|
||||||
|
|
||||||
|
__jsbObj->defineFunction("prepareRelayRSAKey", _SE(JSB_prepareRelayRSAKey));
|
||||||
|
__jsbObj->defineFunction("parseRelayAESKey", _SE(JSB_parseRelayAESKey));
|
||||||
|
__jsbObj->defineFunction("loadRelayAESKey", _SE(JSB_loadRelayAESKey));
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
__jsbObj->defineFunction("setPreferredFramesPerSecond", _SE(JSB_setPreferredFramesPerSecond));
|
__jsbObj->defineFunction("setPreferredFramesPerSecond", _SE(JSB_setPreferredFramesPerSecond));
|
||||||
|
|
||||||
global->defineFunction("__getPlatform", _SE(JSBCore_platform));
|
global->defineFunction("__getPlatform", _SE(JSBCore_platform));
|
||||||
|
@ -54,3 +54,5 @@ std::string encrypt_aes(std::string &content, std::string &key);
|
|||||||
std::string decrypt_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 generate_clientid(std::string &content);
|
||||||
std::string getpk();
|
std::string getpk();
|
||||||
|
void store_encrypt_item(std::string key, std::string value);
|
||||||
|
bool load_encrypt_item(std::string key, std::string *value);
|
||||||
|
@ -51,3 +51,9 @@ char *generate_client_key(const char *password, const char *openid, const char *
|
|||||||
char *simple_sign(const char *content, const char *key);
|
char *simple_sign(const char *content, const char *key);
|
||||||
|
|
||||||
char *ramdonKey(void);
|
char *ramdonKey(void);
|
||||||
|
|
||||||
|
char *rsa_key_pair(void);
|
||||||
|
|
||||||
|
char *rsa_encrypt(const char *content, const char *p_key);
|
||||||
|
|
||||||
|
char *rsa_decrypt(const char *content, const char *s_key);
|
||||||
|
BIN
external/android/arm64-v8a/librustwallet.a
vendored
BIN
external/android/arm64-v8a/librustwallet.a
vendored
Binary file not shown.
@ -51,3 +51,9 @@ char *generate_client_key(const char *password, const char *openid, const char *
|
|||||||
char *simple_sign(const char *content, const char *key);
|
char *simple_sign(const char *content, const char *key);
|
||||||
|
|
||||||
char *ramdonKey(void);
|
char *ramdonKey(void);
|
||||||
|
|
||||||
|
char *rsa_key_pair(void);
|
||||||
|
|
||||||
|
char *rsa_encrypt(const char *content, const char *p_key);
|
||||||
|
|
||||||
|
char *rsa_decrypt(const char *content, const char *s_key);
|
||||||
|
BIN
external/android/armeabi-v7a/librustwallet.a
vendored
BIN
external/android/armeabi-v7a/librustwallet.a
vendored
Binary file not shown.
@ -51,3 +51,9 @@ char *generate_client_key(const char *password, const char *openid, const char *
|
|||||||
char *simple_sign(const char *content, const char *key);
|
char *simple_sign(const char *content, const char *key);
|
||||||
|
|
||||||
char *ramdonKey(void);
|
char *ramdonKey(void);
|
||||||
|
|
||||||
|
char *rsa_key_pair(void);
|
||||||
|
|
||||||
|
char *rsa_encrypt(const char *content, const char *p_key);
|
||||||
|
|
||||||
|
char *rsa_decrypt(const char *content, const char *s_key);
|
||||||
|
BIN
external/android/x86/librustwallet.a
vendored
BIN
external/android/x86/librustwallet.a
vendored
Binary file not shown.
@ -51,3 +51,9 @@ char *generate_client_key(const char *password, const char *openid, const char *
|
|||||||
char *simple_sign(const char *content, const char *key);
|
char *simple_sign(const char *content, const char *key);
|
||||||
|
|
||||||
char *ramdonKey(void);
|
char *ramdonKey(void);
|
||||||
|
|
||||||
|
char *rsa_key_pair(void);
|
||||||
|
|
||||||
|
char *rsa_encrypt(const char *content, const char *p_key);
|
||||||
|
|
||||||
|
char *rsa_decrypt(const char *content, const char *s_key);
|
||||||
|
BIN
external/android/x86_64/librustwallet.a
vendored
BIN
external/android/x86_64/librustwallet.a
vendored
Binary file not shown.
6
external/ios/include/rustwallet/rustwallet.h
vendored
6
external/ios/include/rustwallet/rustwallet.h
vendored
@ -51,3 +51,9 @@ char *generate_client_key(const char *password, const char *openid, const char *
|
|||||||
char *simple_sign(const char *content, const char *key);
|
char *simple_sign(const char *content, const char *key);
|
||||||
|
|
||||||
char *ramdonKey(void);
|
char *ramdonKey(void);
|
||||||
|
|
||||||
|
char *rsa_key_pair(void);
|
||||||
|
|
||||||
|
char *rsa_encrypt(const char *content, const char *p_key);
|
||||||
|
|
||||||
|
char *rsa_decrypt(const char *content, const char *s_key);
|
||||||
|
BIN
external/ios/libs/librustwallet.a
vendored
BIN
external/ios/libs/librustwallet.a
vendored
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user