background image

php

 

     代码加密和解密原理

 

 

当你不想自己的代码被别人看到时,你就可以使用 gzinflate+base64 对代码进行加密
和解密。

base64_encode — 

 

使用 MIME base64 对数据进行编码

base64_decode — 

 

对使用 MIME base64 编码的数据进行解码

php 代码加密和解密原理如下:

1.

<?

php

2.

function

 phpencode

(

$code

)

 

{

3.

$code 

=

 str_replace

(

array

(

'<?php'

,

'

?>

','

<?

PHP

'),array('','',''),$code);

4.

$encode = base64_encode(gzdeflate($code));// 开始编码

5.

$encode = '

<?

php

'."\neval(gzinflate(base64_decode("."'".

$encode."'".")));\n

?>

";

6.

return $encode;

7. }
8. function phpdecode($code) {
9.

$code = str_replace(array('

<?

php

','

<?

PHP

',"eval(gzinflate(base64_decode('","')));",'

?>

'),

10.

array('','','','','',''),

11.

$code);

12. $decode = base64_decode($code);
13. $decode = @gzinflate($decode);
14. return $decode;
15. }

16. ?>

17.

<form

 

method

=

"post"

>

18.

<textarea

 

name

=

"source"

 

cols

=

"55"

 

rows

=

"8"

>

19.

<?

php

20.

if

(!

empty

(

$_POST

[

'source'

]))

 

{

21.

if

(

$_POST

[

'button'

]==

'加密'

)

 

{

22.

echo 

htmlspecialchars

(

phpencode

(

stripcslashes

(

$_POST

[

'source'

])));

23.

}

24.

if

(

$_POST

[

'button'

]==

'解密'

)

 

{

25.

echo 

htmlspecialchars

(

phpdecode

(

stripcslashes

(

$_POST

[

'source'

])));

26.

}

27. }
28. ?>

29. </textarea>

30.

<?

php