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