Android开发的安全性(面试)

       只要项目经历中有涉及安全性的应用或者面试的公司项目中比较重视安全性的话基本都会被问及安全方面的问题,那么下面就这些问题做个记录。
      1、软键盘输入安全:自定义软键盘,随机按键,并且对输出作加密处理。
      2、防界面劫持:有敏感信息录入的界面,有可能会出现被钓鱼,出现一模一样的界面覆盖于咱们的应用之上,导致用户误输入敏感信息,出现安全问题,那么我们要做的就是在应用退出前台时给用户提示,防止用户再输入敏感信息。
      3、本地数据安全:对存储于本地的数据作加密之后再存储,对于特别数据采取分段存储等措施,比如密钥可分段存储或存储于so等。
      4、通信安全:数据加密、证书验证(证书锁定(判断服务器证书公钥与本地证书公钥是否一致)
    +域名验证())等
      5、重点逻辑代码安全:方案一实现代码混淆处理,方案二将逻辑代码由Java层转到jni层实现。
      6、apk包安全:版本更新时校验apk文件的唯一性和完整性;检验apk的签名指纹,防止被篡改被二次打包;apk混淆加固。
按这上面几个方面回答就基本OK啦,一些参考文章https://juejin.im/post/5bea6d0c6fb9a049ba411c48

你可能感兴趣的:(android)