前言
autojs和php之间进行数据传输时,为了保证api接口的数据安全,可以使用双向加密进行传输。这就要求,php和autojs使用相同的加解密算法,进行字符串加密。
在CSDN、百度上,查了很多资料,都没有得到理想的。
要么php加密后的数据,autojs根本无法解密;
要么,是php加密后,autojs有时候能解密,有时候却又不能解。
没办法,我们来自己实现吧。
需求
php后台,对一段数据,进行加密和解密。
autojs脚本,请求php编写的api接口,取得后台加密的数据,在autojs中进行解密。
在某些情况下,autojs还要对一段数据进行加密,通过请求api,提交给php后台,后台再将这段数据进行解密。
要求php和autojs使用相同的加解密算法。
autojs测试代码
let str = 'www.feiyunjs.com'; //待测试的字符串
let jiami = AESEncrypt(str, key);
log('加密结果', jiami)
let jiemi = AESDecrypt(jiami, key);
log('解密结果', jiemi)
autojs测试结果
00:17:32.365/V: 开始运行[[remote]加解密.js]
00:17:32.368/D: 加密结果 DAqqMRn9Z45MUF2NgfrYjKlxtEiiaxjB+zKnvTAoFwo=
00:17:32.370/D: 解密结果 www.feiyunjs.com
00:17:32.371/V:
------------
[ [remote]加解密.js ]运行结束,用时0.005000秒
测试环境
开发环境:mac Os
测试机型:MEIZU Note 9
autoXjs版本:6.3.6
支持的版本
autojs版本:Pro 8.0.0及以上
autoXjs版本:6.3.6及以上
使用场景
假设有一个mysql表,需要读取表中的全部数据,或者某一条数据,传递给autojs使用。
那么操作的过程是这样的:
使用php编写一个api接口,用于请求json数据
取出mysql数据,得到一个json对象
将json对象,转换成string字符串
使用php中封装好的AESEncrypt()方法,对json字符串进行加密
将加密后的数据,返回给api接口。
接下来,在autojs中调用api接口,得到的是一段加密字符串。
使用autojs中封装好的AESDecrypt()方法,对json字符串进行解密
将解密后的数据,转换成json对象,就可以正常使用了。
注意事项
1、php和autojs中,32位的加解密的key必须保持一致
2、autojs部分的加解密函数,必须进行js混淆和加密,或者打包成dex文件,以免被人轻易逆向
完整代码
包含php的加密、解密方法
包含autojs的加密、解密方法,及测试代码
双端代码均含有详细的注释,供初学者学习
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » autojs与php之间的加密和解密,保证云控api接口的数据安全传输