关于新版手机C的密匙功能设计
之前手机C的密匙功能,由于安卓系统更新的关系,体验并不好,现在准备实行账号制度,设计如下
以前存在的缺陷: 1.采用安卓识别码的形式识别用户,随着安卓的更新,这个形式在安卓10上已经不行了 2.设置密匙有漏洞,容易被破解 3.密匙是永久性的,不利于手机C特殊功能的测试,密匙是绑定手机的,对于经常刷机或者换机的用户不公平
新的设计思路: 采用联网用户制度,在服务器建立用户信息,保存用户vip的有效期,如果当前用户是会员,为他开启所有特殊功能。 在启动时上传用户手机信息与服务器匹配,如果匹配成功,更新用户key,如果匹配不成功,则退出登陆,在登陆时服务器进行用户信息更新 在启动时检测用户手机上是否具有旧的密匙信息,如果具有,则原功能保持不变,用户也可以通过购买vip来使用新的功能 如果用户没有登陆账号,则记录用户的androidID来进行用户识别,如果用户已经登陆账号,则采用账号的方式进行用户识别
防破解思路: 不要在本地记录用户识别码,识别码由每次启动app进行生成。 对本地保存的设置信息进行单独加密,采用非常规保存,对旧版本保存的数据进行迁移 在app启动时进行联网检测是否具有vip权限,如果具有才开启功能(异常恢复怎么办?异常恢复时也将vip权限一并保存起来) 以前密匙中保存了设置用户的数据,现在将这个数据不保存到本地,而是每次都让服务器返回,彻底解决本地破解问题 那没联网怎么办?(无法使用vip功能) 在app首次启动时会生成一个加密种子,这个种子对本地的数据进行加密保存(比如设置密匙),
兼容思路: 请求服务器时携带安卓版本、手机C版本等重要信息 在本地保存当前app版本(号),如果版本不一致则进行兼容处理 当用户协议进行了变更,更新app时进行提示(这个提示是富文本),服务器会保存当前用户使用的协议版本 当检测到新版本,每次弹出提示,直接进行下载安装
关于发放密匙: 账号制度,让发放密匙变得简单,只需要用户提供账号即可进行密匙发放。
相关资料: 获取androidID:https://www.jianshu.com/p/a185d3a702c6
发表评论