app安全

介绍总结一下app安全方面
    1.数据的安全
        1).在app的访问请求数据中,一般是通过httpClient,UrlConnnection来从服务器端获取数据的,这么做在平常看来是没有问题的,
        但是,我们可以通过工具去抓取这些传输过程中的信息.这么做的后果是:传输过程中的所有数据全部都暴露在我们面前了.
        
           解决的方法:
           1).加密
                在数据传输前,通过加密算法对数据进行加密,服务器或者客户端在接收到数据的时候,通过解密方法,解密.
                常用的加密算法:MD5,DES,AES
                其中要说明的是:通过MD5加密的一般会放置到服务器,并不会拿着这个串去来回传递,因为MD5加密是非可逆的加密.
                DES:非对称加密
                AES:对称加密
                
                另:有人用到了Base64,要说明一下,Base64的原理相当于对字符串进行了混淆,非常容易的就会拿到混淆前的字段.
                
            2).我们可以抓取的数据,是在传输层传输的数据,那想办法在传输层做保障的话,就要用到了https,
                原理:
                    https的根源仍然是加密,通过服务器端的证书和客户端的证书安全握手后,才能拿到数据.https要保证有效性,就一定要验证证书,
                    在实际开发中,可能因为某些原因,在客户端设置了过滤所有证书.那么,一旦这么做之后,我们就可以通过在手机上设置代理证书,来
                    抓取传输层的数据.
                    
     2).代码的安全
           1).安全性在于,别人可以通过反编译去拿到你的源代码,并通过修改以及二次打包,窃取或者对你的应用造成极坏的影响.
               
               解决方案:
                1).代码混淆
                    通过google提供的混淆工具,对app中的类名,方法名进行混淆.
                    优点:
                        对代码的可阅读性提高难度
                        
                    缺点:
                        仅仅是增加了代码的阅读性的难度,并没有真正的实现代码的安全.
                  
                 2).市面上常用的加固
                    可以在一定程度上保证了app的代码安全,常见的一下代码反编译工具,无法对加固的应用进行反编译.
                    
                    app应用的加固原理:
                        原理仍然是通过一定的加密算法,对app的资源文件进行加密.
                        1.对你的app进行反编译为.dex文件,然后通过加密对资源文件进行加密;
                        2.开启一个解密的app,然后把两个app通过工具整合成一个app文件;
                        3.对新生成的app进行签名;
                        
                        app的启动原理:

                            通过解码后,真正的创建app的页面.



  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值