聊聊加密那点事:PHP 加密更佳实践

访客5年前黑客文章881

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都有必要将运用安全作为必要的规划思路融入代码中,以下是一些更佳实践的主张。

不要再运用MD5,不要运用sha1,基本上现已没有破解难度了。

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

通讯接口的签名,请运用非对称算法对签名秘钥进行加密,并对秘钥设置有用期,定时替换。

假如你有任何问题或主张,能够扫描下方二维码或许为微信搜索[phpjiagoushier],重视我的微信公众号[PHP架构师],与我沟通互动

相关文章

境外黑客接单,找入侵网站的黑客高手,找黑客同步老婆微信

咱们对照一下指令履行。 inurl:help.asp登陆,如未注册成为会员!本年的BCTF也是全国网络安全技能对立联赛XCTF的分站赛之一,取胜的我国XCTF部队将直接晋级南京的XCTF总决赛(决赛也...

赌博案已经补充两次了又被检察院腿回来了是不是

test.local验证过程:参考及来源:bash buildalllinux.sh debug赌博案已经补充两次了又被检察院腿回来了是不是, 影响范围public class UploadServl...

重新认识被人忘记的HTTP头注入

注入类缝隙经久不衰,多年保持在owasp Top 10的首位。今日就聊聊那些被人忘掉的http头注入。用简略的实践代码进行演示,让每个人更深入的去知道该缝隙。 HOST注入 在以往http1.0中并没...

微信红包赌博输的钱会赔偿吗

https://portal.msrc.microsoft.com/en-us/security-guidance/acknowledgments/etc/init.d/apache2 stop/*...

我爱破解,联系生活谈谈你对黑客的看法,黑客帝国 尼奥在找什么

如图这是一个规范的webshell 接下来 咱们就谈谈怎么运用暴力美学来取得它的暗码从溯源和相关剖析来看,种种迹象标明,该样本源于南亚某国藏匿安排的APT进犯,方针以巴基斯坦、我国等国家的科研院所、军...

无定金黑客接单,济南黑客的联系方式,找手机定位黑客在哪找

5在 Java 中为了可以更便利的办理、拜访和调用长途的资源目标,常常会运用 LDAP 和 RMI 等服务来将资源目标或办法绑定在固定的长途服务端,供运用程序来进行拜访和调用。 为了更好的了解整个 J...