1.一种针对安卓程序代码的加密方法,其特征在于,所述方法包括:
在有加载需求时由服务器端根据加密算法对关键代码进行加密以生成加密代码,并将所述加密代码发送到客户端;
所述客户端调用加载所述加密代码;
当所述客户端运行完毕所述加密代码时删除所述加密代码。
2.根据权利要求1所述的方法,其特征在于,服务器端根据加密算法对关键代码进行加密以生成加密代码,其中,所述加密算法与所述客户端对应,在同一次加密交互周期中不得更换加密算法以及客户端。
3.根据权利要求2所述的方法,其特征在于,服务器端根据加密算法对关键代码进行加密以生成加密代码,其中,针对不同的客户端采用不同的加密算法。
4.根据权利要求2所述的方法,其特征在于,服务器端根据加密算法对关键代码进行加密以生成加密代码,其中,在每次发送所述加密算法前随机生成所述加密算法,每次发送都采用不同的加密算法。
5.根据权利要求4所述的方法,其特征在于,在每次发送所述加密算法前随机生成所述加密算法,其中,所述服务器端以随机无意义的方式产生随机加密类和函数签名。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述客户端调用加载所述加密代码,其中,所述客户端通过反射机制调用所述加密算法。
7.根据权利要求1-6中任一项所述的方法,其特征在于,当所述客户端运行完毕所述加密代码时向所述服务器发送所述加密代码的运行结果。
8.根据权利要求7所述的方法,其特征在于,当所述客户端运行完毕所述加密代码时向所述服务器发送所述加密代码的运行结果,其中,所述客户端对所述运行结果进行加密并将加密后的运行结果发送到所述服务器端。
9.根据权利要求7或8所述的方法,其特征在于,当所述服务器端接收到所述运行结果后对其进行验证。
10.根据权利要求1-9中任一项所述的方法,其特征在于,所述加密算法具有有效时间限制。