众推推 - 最专业的微信任务系统源码!

资讯热点
西安云碧放弃了MC,采用可逆加密算法进行会话

发布时间:2019-1-27 分类: 行业资讯

我相信到目前为止,有很多PHP系统仍然使用$\u会话作为会话方法。让我们先简单介绍一下会话的原理(熟悉的学生可以直接往下看)。会话的本质是:cookie(key)+服务器存储环境(value)。也就是说,通过cookie(有时是url参数)作为一个键,通过它可以找到服务器的相应数据,数据可以是:file(默认)、mysql、memcache等。其中,MC是分布式场景中最常用的。所以,如果我们要教唆人们放弃传统的方式,我们就需要找出问题的严重性。1。当并发性很大时,它会占用大量资源(每个登录用户都需要注册一次)。2。当并发性较大时,用户被淘汰的概率增大(当内存不足时,mc将使lru算法能够清除内存,从而导致一些用户被推荐)。三。资源浪费率很高(需要额外的机器和用户登录一次后仍然需要保护)。在挑出这么多荆棘之后,我们放弃了mc(部分原因是它很差),使用了一个成本更低、简单的解决方案:可逆加密算法。目前,我们使用AES算法来完成我们的工作。加密算法如下:传入要加密的数据和加密因子,返回加密字符串。这里还支持base64加密的要求。相应的解密算法如下:在这两种方法中,我们使用序列化和反序列化来支持数组,以便对数组进行加密。对于数据加密,我们选择PHP附带的序列化。与JSON相比,速度更快,加密后的结果更小。[那么,使用可逆加密算法的好处是什么?1。没有额外的数据提取服务器,性能更好,稳定性更好。不需要额外的服务,就可以在本地完成,减少了套接字请求和对服务的依赖,因此性能和稳定性更好。2。便宜不言而喻。三。无限扩展,没有一致性问题,分布式场景更适合于明显的任意扩展,没有存储,因此没有一致性问题。4。应用范围更广,除PC机外,还支持应用程序,可自由定制到期时间会话。应用程序没有着陆,但一般的MC方案不能满足。因此,我们采用可逆加密算法。可逆加密算法的问题在哪里?(1)如果密钥丢失(或解码),会发生什么情况?在这种情况下,只能替换密钥,代价是所有系统的用户都需要重新登录。这个价格几乎不能接受。2。数据存储大小的限制不能加密太多的数据。通常只加密核心数据,如用户ID、过期时间等,太多的数据会浪费带宽。总的来说,我们认为风险是可控的,成本是可以接受的。【改进方案】对于上述算法,我们将来会有一些改进的想法,主要是增加破解的难度,降低升级的复杂性。目前,我们集中在二次加密上,通过少量的工作,使得解码器需要做大量的工作。云笔,专注于互联网技术的深入研究与开发。

« 爱钱乐队:优质资产汽车金融先驱 | 易到司机讨债:欠钱的成了“爷爷”,要账的倒成了孙子 »