XLua框架搭建——lua文件加载,签名及加密

本文介绍了在XLua框架下如何加载lua文件,特别是通过自定义Loader实现签名和加密以增强安全性。签名用于防止文件在传输过程中被篡改,而加密则保护源代码不被直接查看。lua文件的签名加载涉及读取assetbundle的textAsset并转化为byte[],解密后再返回。签名过程可以借助XLua自带工具,并在Assetbundle打包前批量处理。加密步骤包括读取文件为byte[],加密后写回,最后打包加密后的文件。
摘要由CSDN通过智能技术生成

XLua教程里面的第一步就是教大家如何去加载一个lua文件,官方推荐的做法是整个程序就一个DoString(“require ‘main’”),然后在main.lua加载其它脚本(类似lua脚本的命令行执行:lua main.lua)。

对于实际项目,一般都是使用assetBundle来作为lua文件的载体,这个方式使用的是自定义Loader方式,利用自定义Loader,可以实现代码签名以及加密。

为什么有签名还需要加密,签名和加密是两个不同的东西,签名可以防止文件传输的过程被黑客篡改。但是源代码还是暴露的,还是可以直接看,只不过如果对这个代码进行修改的话,加载的时候会不在执行。

lua的签名加载如下

 SignatureLoader sl = new SignatureLoader(PUBLIC_KEY, LoadLuaFile);
 LuaEnv.AddLoader(sl);

在对应的LoadLuaFile里可以直接加载assetbundle的textAsset文件,然后返回byte[]即可,既然有了byte[],我们就可以直接操作byte[]进而实现加密的效果。先在函数里加载textAsset,得到byte[],对byte[]进行解密,将解密后的byte[]返回。

lua签名使用自带的签名工具,在进行Assetbundle打包的时候进行

用Tools/KeyPairsGen
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值