由于公司的一个android项目发布之后,被人通过反编译并破解了Web Service接口地址以及参数的定义,因此需要想办法对传输的数据进行加密,考虑到Java代码存在被反编译的问题,最终采用了Android NDK来实现,通过NDK调用C语言写的加密算法生成MD5验证码的,同时考虑到用C写的SO被人盗用(直接将SO文件引用入工程)采用通过C语言调用Java代码进行调用者身份确认。
业务流程:
针对Android项目被反编译及接口被破解的问题, 本文介绍使用Android NDK结合C语言实现加密的方法,包括生成MD5验证码及通过C调用Java确认调用者身份的技术细节。
由于公司的一个android项目发布之后,被人通过反编译并破解了Web Service接口地址以及参数的定义,因此需要想办法对传输的数据进行加密,考虑到Java代码存在被反编译的问题,最终采用了Android NDK来实现,通过NDK调用C语言写的加密算法生成MD5验证码的,同时考虑到用C写的SO被人盗用(直接将SO文件引用入工程)采用通过C语言调用Java代码进行调用者身份确认。
业务流程:

被折叠的 条评论
为什么被折叠?