PHP加密 - 首页 - 技术文章

php加密方法的对比.

发布时间:2015-03-06 08:27:07

最近总有网友加我的QQ来向我了解一些PHP的加密,在这里就大家常常搞不懂的PHP加密方法进行罗列并进行简要的介绍。

1、源码外壳加密(通常加混淆加密,各种加密盾均是此类加密)

优点:简单,加密容易,现在主流的免扩展加密均是此类方法,本网站也有采用了此类加密方法,加密后无需作什么特别设置直接可使用。

缺点:加密强度高,执行速度慢。加密强度低,安全性低。我见过某人加密进行了200次循环验证,这样性能很低的。所有的源码混淆加密均可被还原成原代码。

2、源代码混淆(只打算代码不加密)

优点:与方案一不同的在于此加密方法是对源代进行加工,加密PHP变量、加密PHP函数、加密PHP字符等,这样加密完的源代码可以正确执行,降低可读性,要拿到源代码的人,也无从下手。

缺点:源码加密后,不方便修改,严格他并没有加密,只是增加代码不易读的方式,来防止修改二次开发代码。

3、扩展加密(zend为代表)

优点:将PHP程序经过某种算法如DES、异或、压缩等算法加密或者对源代码进行预编译提高速度。在PHP加载的扩展(DLL 或 SO) 中完成对源代码的解密解释执行。速度快,安全性高。如果没有破解扩展很难破解此类代码。

缺点:此类加密,容易被HOOK通过获取OPCODE 转换破解代码,现在主流的ZEND被破解均是因为此类问题。兼容性不好,需要安装第三方扩展方可使用。在安全性方面,远高于方案一

4、编译功能性扩展

有点:看着与方案三有一些像但完全不同,他的执行功能是通过C语言编译于扩展中,然后在PHP中调用这样的扩展函数如xxSHOP就使用此类验证加密。因为他不属于功能解释执行PHP代码,所有功能通过C语言直接写出来,应用到PHP扩展中,理论上不能被破解得到源代码(ASM TO C代码重写除外)。

缺点:扩展兼容性最差,功能升级时需要更新此类扩展文件。牺牲兼容性,而得到安全性。


写在最后,PHP的加密安全性一直是相对的。对于上面的加密四种方案是最常见的,也可以多次组合应用。如先用方案二混淆,再用方案一、方案三、加密。这样更加增强了系统的安全性,本网站所采用的方案均可任组合,更为安全。

点击这里给我发消息

扫一扫关注我们

• 客服QQ:点击这里给我发消息

• 邮箱:416175#qq.com

• 辽ICP备14018579号

• Copyright 2015 PHP加密(PhpJiaMi.Com)