uniapp,vue3,vite框架
jsencrypts.js在微信小程序iOS下rsa解密,URLEncoder转码慢的问题.
加密内容是长内容,里面有中文字符,符号等,防止前端乱码,后端先转encodeurl编码,然后用再将内容rsa加密输出给前端.(rsa公 私钥用的512)
后端代码:
public static String encrypt(String content, String publicKey) {
try {
RSA rsa = new RSA(null, publicKey);
content=URLEncoder.encode(content,"UTF-8");
System.out.println("-------------------------------"+content);
String ss = rsa.encryptBase64(content, KeyType.PublicKey);
return ss;
} catch (Exception e) {
log.error("公钥加密异常 msg:{}",e.getMessage());
}
return null;
前端用jsencrypts.js解密,由于长内容,用的decryptLong方法,64字符分段解密, var MAX_DECRYPT_BLOCK = 64
前端再用decodeURIComponent转回中文字符,
分段解密时decryptLong会在方法里面去调decrypt方法,decrypt返回时间较慢。求问如何优化解码时间太长的问题
但是ios小程序解得很慢,约延迟8s+,定位下来,(h5,小程序安卓机速度都正常)
求问如何优化解码时间太长的问题
已尝试方法:换wxmp-rsa 解密,也是一样的效果,现如何解决ios解码慢的问题?
export function decrypt (s) {
// Return the decrypted string.
try {
var ret = "";
var i;
var k = 0; // b64 state, 0-3
var slop = 0;
for (i = 0; i < s.length; ++i) {
if (s.charAt(i) == b64pad) {
break;
}
var v = b64map.indexOf(s.charAt(i));
if (v < 0) {
continue;
}
if (k == 0) {
ret += int2char(v >> 2);
slop = v & 3;
k = 1;
}
else if (k == 1) {
ret += int2char((slop << 2) | (v >> 4));
slop = v & 0xf;
k = 2;
}
else if (k == 2) {
ret += int2char(slop);
ret += int2char(v >> 2);
slop = v & 3;
k = 3;
}
else {
ret += int2char((slop << 2) | (v >> 4));
ret += int2char(v & 0xf);
k = 0;
}
}
if (k == 1) {
ret += int2char(slop << 2);
}
return this.getKey().decrypt(ret);
}
catch (ex) {
return false;
}
};
:换wxmp-rsa 解密,也是一样的效果,现如何解决ios解码慢的问题?希望大佬解答ios解密慢的问题
在worker里使用wasm可解
https://developers.weixin.qq.com/miniprogram/dev/framework/pe...
https://developers.weixin.qq.com/miniprogram/dev/api/worker/w...
对于iOS上RSA解密速度慢的问题,可能有多个原因。由于您已经尝试了更换解密库但效果相同,我们可以从以下几个方面来探讨可能的解决方案:
decryptLong
和decrypt
方法的实现,看是否有可以优化的地方。针对您的情况,我建议您首先尝试减少加密数据量(如果可能)。然后,您可以考虑使用原生模块来执行解密操作。最后,如果问题仍然存在,您可以考虑使用性能分析工具来深入分析性能瓶颈,并据此进行优化。
我们有h5版的页面,为了快速实现小程序,我们用小程序的webview嵌套了h5,但是有些功能需要借助小程序的能力,文档上写的可以wx.miniProgram.postMessage. 但是需要引入微信的jssdk,还要有下面的配置 我们只是一个通用的h5页面,并没有公众号,没有appid这些东西,请问这种情况可以用jssdk吗?
华为手机鸿蒙4.0,微信小程序获取定位获取不到,偶尔可以成功,ios没问题,失败的时候有时候只打印个start,有时候start也不打印
场景: 我们是一个公司,然后给对面不同公司做对应的小程序, 但是数据不允许放在我们服务器里面,要放到他们服务器里面, 然后这样子的话就得请求他们的接口,用他们的域名, 然后我们的微信小程序就需要在后台配置不同公司的request合法域名, 但是我看微信小程序里面最多配置200个合法域名,而且到时候如果2000个,20000个呢, 这种情况该如何处理呢? 我想的是可以做一个代理转发,就放一个中间的请
本文向大家介绍微信小程序开发之IOS和Android兼容的问题,包括了微信小程序开发之IOS和Android兼容的问题的使用技巧和注意事项,需要的朋友参考一下 微信小程序开发之IOS和Android兼容的问题 一、时间转换问题: 这不只是小程序上面的问题是ios系统 都有这个问题 就是new Date("2017-06-16") 在IOS会出现NAN的情况所以对于时间转换需要另行封装,解决方案如
本文向大家介绍微信小程序 devtool隐藏的秘密,包括了微信小程序 devtool隐藏的秘密的使用技巧和注意事项,需要的朋友参考一下 微信小程序 devtool 笔者参与的小程序项目开发也进入尾声了,坑也踩得七七八八,对于哪些没有涵盖和深入使用的功能笔者就不班门弄斧了。 前几篇文章讲了那么多细节也好,策略也好,都是应用层面的东西。自微信小程序公布以来就有先行者不断的探索小程序背后的运行机制。小程
@megalo/target 的 platform 设置成 wechat,mini-css-extract-plugin 提取文件后缀改成微信小程序的 wxss。 const createMegaloTarget = require( '@megalo/target' ) const compiler = require( '@megalo/template-compiler' ) const M