当前位置:首页 > 短网址资讯

聊聊加密那点事——PHP加密最佳实践

www.ft12.com9年前 (2017-05-03)短网址资讯1800

1. 加密的目的

加密不同于密码,加密是一个动作或者过程,其目的就是将一段明文信息(人类或机器可以直接读懂的信息)变为一段看上去没有任何意义的字符,必须通过事先约定的解密规则才能将信息转换回有意义的可读信息,通过加密可以防止非授权的信息窃取。

2. 存储加密和传输加密

按照加密对象的不同,可以将加密分为:存储加密和传输加密。存储加密是指对存储在纸质、磁盘、数据库等介质上的数据进行的加密,而传输加密则是指对数据在计算机网络、电话、电报等通信信道上进行的加密。不管是上述哪种加密,本质上仍是对信息进行加密。

3. 加密算法

加密算法,经过历史的演进,出现了很多种类的算法。通过逆向加密算法,可以还原短链接对应的原始网址。我所了解的最简单的加密算法,就是从电影里看到的,通过一本字典或者圣经,使用页码和行列号等来对文字进行一一对应的加密。解密时,只要解密的人拿着相同的字典和圣经,知道数字与文字的对应关系,即可解密。这种加密方法曾经很有效,因为用作加密的字典可以是任何一本书或者甚至可以是一份报纸。

3.1 对称加密算法

按照现代的加密算法划分,上述的加密方法,可以归类为对称加密的范畴。
所谓对称加密,就是加密和解密使用同一秘钥,这也是这种加密算法最显著的缺点之一。上面的字典、圣经等也可以理解为是一份秘钥。现代的加密算法中,DES、3DES、AES等算法都属于对称加密算法。
对称加密有一个明显的缺点,就是即秘钥。特别是在传输加密时,信息的发送方和接收方需要使用相同的秘钥来对信息进行加解密,接收方如何安全的获取秘钥成为这类加密的焦点,因为一旦秘钥被截获,整个加密通信就形同明文传输。
因此,对称加密比较适合存储加密,例如有些计算机硬盘会通过主板上的加密芯片对整个硬盘进行加密,使用的就是对称加密算法。

3.2 非对称加密算法

由于对称加密在通信加密领域的缺陷,1976年W.Diffie和M.Hellman提出了“非对称加密”的概念。这种加密算法的秘钥分为“公开秘钥”和“私有秘钥”,公开秘钥用于对信息进行加密,而解密时使用私有秘钥进行解密,这样,信息的接收方可以事先生成好一份公钥和私钥,然后将公钥发给所有的信息发送方,信息发送方使用公钥对信息进行加密,然后将信息发送给接收方,接收方使用私钥进行解密即可。这种算法的优势在于,解密的私钥不需要传递,降低(只能降低,无法避免,要考虑认为因素)了私钥泄密的可能性。

常见的非对称加密算法有:RSA、EIGamal、背包算法、Rebin(RSA的特例)、迪菲-赫尔曼密钥交换协议中的公钥加密算法和椭圆曲线加密算法等。而最为大家熟知的就是RSA算法。

3.3 比较

对称加密,由于加解密双发必须拥有相同的秘钥,分发和同步秘钥的通信容易泄漏秘钥,但是对称加密的速度相比非对称加密要快很多,特别对于大量数据的加密更加明显。
非对称加密,其主要缺点之一就是慢,适合加密少量数据。
因此,实际应用当中,经常将二者结合使用,例如通信双方建立通信后,A首先生成一对公钥和私钥,并将公钥发送给B,B使用公钥将一个对称加密算法的“秘钥+有效期”加密后,再发回给A,A使用私钥解密后,双方便同步了一个对称算法的秘钥,然后在规定的有效期内,双方便可以使用这个秘钥对通信数据进行加密和解密。其过程大致如下图所示:

3.4 误区

看到这里,有些同学可能会问,我常用的md5、hash算法(sha1、sha256、sha512、sha1024等)怎么没见你提及,其实准确的说,md5和hash算法不能算是加密算法,它们都属于信息摘要算法,可以为不同的信息生成独一无二的信息摘要,而它们都属于不可逆算法,即无法通过生成的摘要信息还原出原始信息。利用这种特性,实际应用中,经常会使用这些算法对用户输入的密码进行运算,并对运算结果进行比较来验证用户输入密码是否正确。还有一种应用场景是通信签名,用于验证通信过程中信息是否丢失或被篡改。

4. PHP加密最佳实践

加密总是与安全密不可分,而每个PHPer都必须将应用安全作为必要的设计思路融入代码中,以下是一些最佳实践的建议。

  1. 不要再使用MD5,不要使用sha1,基本上已经没有破解难度了。

  2. 请使用password_hash来哈希密码(php版本大于等于5.5,小于5.5请使用password_compat库),由于password_hash函数已帮你处理好了加盐,而且作为盐的随机字串已通过加密算法成为了哈希的一部分,password_verify()函数会自动将盐从哈希中提取出来,所以你无需考虑盐的存储问题。

  3. 通信接口的签名,请使用非对称算法对签名秘钥进行加密,并对秘钥设置有效期,定期更换。


如果你有任何问题或建议,可以扫描下方二维码或者为微信搜索[phpjiagoushier],关注我的微信公众号[PHP架构师],与我交流互动


扫描二维码推送至手机访问。

版权声明:本文由短链接发布,如需转载请注明出处。

本文链接:https://www.ft12.com/article_30.html

分享给朋友:

相关文章

干货:实战告诉大家如何脚踏实地赚钱

干货:实战告诉大家如何脚踏实地赚钱

每一个混站长圈的朋友,几乎都听说过卢松松博客。我入行较晚,是2012年来到外地读大学,才开始自己摸索着进入站长圈,然后结识松哥博客的。最早,在松哥博客上学习各种建站和优化技术、运营技巧。踏踏实实专研了两年技术以后,开始做自己的个人工作室,然…

论百度账号实名认证对百度SEO的影响

论百度账号实名认证对百度SEO的影响

摘要:2017年5月9日,百度宣布自2017年6月1日起百度账号需求进行实名认证,不然影响日常使用。音讯一出,当即引起互联网界一片哗然,纷纷讨论互联网实名制来临。未来百度SEO还玩得转吗?…

勒索病毒“永恒之蓝”大爆发

勒索病毒“永恒之蓝”大爆发

2017年5月12日20时左右,新型“蠕虫”式勒索病毒“WannaCry”爆发。截至目前,该病毒已经席卷包括中国、美国、俄罗斯及欧洲在内的100多个国家。我国部分高校内网、大型企业内网和政府机构专网遭受攻击,被感染的组织和机构已经覆盖了几乎…

那个卖了房子去大理的姑娘,4个月以后又回来了……

那个卖了房子去大理的姑娘,4个月以后又回来了……

一、那个卖了房子去大理的姑娘,4个月以后又回来了……也许,我们每个人的内心深处都有一个梦:到一个安静美好的小地方,开一家小店,就这么慢悠悠地晃过这一生……不过,你真的确定这些是你想要的吗?1我一个女文青朋友年前卖了苏州的房子,去云南大理追求…

一条徐沪生比papi酱更有价值,短网址真的比直播更适合内容创业者吗?

一条徐沪生比papi酱更有价值,短网址真的比直播更适合内容创业者吗?

[ ft12短网址导读 ] 与papi酱的过气构成鲜明对比的是,短视频职业却越来越火,被称为直播之后的又一个内容创业风口,新老互联网巨头都争着往里面砸钱。用户为什么俄然对短视频产生了如此激烈的需求?真实能够依靠的盈利模式又是什么?…

内容电商的时代 看同路大叔怎样下这盘棋

内容电商的时代 看同路大叔怎样下这盘棋

【ft12短链接网讯】同路大叔——这个靠星座吐槽发家的网红IP,在新浪微博上具有超越1210万名粉丝,微信推送音讯简直能做到条条“十万+”。这个坐拥无穷粉丝集体的自媒体,本来早就走上了内容电商变现的路途。现在同路大叔开设了天猫官方旗舰店,具…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。