PHP免扩展加密(混淆加密)的基本原理(一)

PHP免扩展加密近几年非常流行,今天就给大家介绍一下基本的加密原理。

PHP源码:

1
2
3
<?php
echo ‘hello by phpjiami.com’;
?>

我们对些代码码加密,所使用为:evalbase64_decode,base64_encode

EVAL:

定义和用法

eval() 函数把字符串按照 PHP 代码来计算。

该字符串必须是合法的 PHP 代码,且必须以分号结尾。

如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。

base64_decode,base64_encode

则是完成BASE64的加密及解密.

第一层处理,完成代码的执行:

1
2
3
<?php
eval(“echo ‘hello by phpjiami.com’;”);
?>

第二层完成加密:

1
2
3
<?php
eval(base64_decode(“ZWNobyAnaGVsbG8gYnkgcGhwamlhbWkuY29tJzs=”));
?>

先对 echo ‘hello by phpjiami.com’; 进行  base64_encode,得到:ZWNobyAnaGVsbG8gYnkgcGhwamlhbWkuY29tJzs= 然后再使用 base64_decode 还原base64数据,最后通过eval来执行.

这样我们就实现了简单的加密,再复杂的加密过程我们下次再说。

如果是Linux服务器,当加密以后不能正常访问网站,一般由于加密过的PHP文件采用二进制方式保存,所以FTP上传必须开启二进制方式.

未经允许不得转载:淘淘源码吧 » PHP免扩展加密(混淆加密)的基本原理(一)