(10月15日已经再次编辑整理)
*这些规则看着多,都可以用des加密来满足,懂原理后工作量很少,正常1天就可以写完,只是一个小窍门
(为什么用des,因为des是需要确保数据完整性才能正确解密的算法,换其他也行,只要是需要整段密文才能解密的算法就行)
*AppStore不给更新native代码,审核又慢,导致签名规则不能经常更换
*小公司客户端被破解是时间问题
*不会对正常用户产生过多影响,计算被分散到每个用户,最多是手机发热,有一点点像比特币挖矿,通过所有用户设备的算力去对抗工作室
*工作室的计算全部需要集中到自己设备,算法还吃内存,就会亚历山大.签名不对就会被服务器跳过,无法完成脱机业务,小作坊的服务器就能活下来,大公司也能降低些服务器成本.
*从技术运营的角度来说,这篇文章的最大价值不仅仅是为手游公司添加了一种对抗脱机挂的手段,而是可以把脱机挂对公司变现能力的影响直接量化.
客户端和服务器主要耗时逻辑通讯需要校验签名,简单的令牌签名规则就行
普通的客户端和服务器签名规则是使用签名密钥和时间戳,不同的地方是要建立一个token机制,每个token和一个签名密钥对应
,并缓存起来,不在客户端写签名密钥
*每个签名密钥和token值键对只能使用一次,或者可以使用一段时间,这个自己决定
requert时签名校验失败,服务器直接return掉该请求,无法完成脱机业务
requert的内容尽量小,小到最好就是几个byte,要不然影响上传带宽
对所有很耗时的服务器api加签名验证,不让工作室拖垮服务器
保证大规则的前提下,我们营造一个客户端和服务器计算量不对等的规则.可以自由发挥,计算量差越大越好越屌
简单说一下我们的方法:
服务器在下发token和token对应的签名密钥时,下发的签名密钥是加密的.并且不下发解密密钥,客户端