PHP代码简单加密和解密的实现


PHP #加密 #解密2014-04-09 22:01

使用gzinflate+base64对代码进行加密和解密。

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

简单实现原理见下。

<?php
function phpencode($code) {
	$code = str_replace(array('<?php','?>','<?PHP'),array('','',''),$code);
	$encode = base64_encode(gzdeflate($code));// 开始编码 http://yige.org/php/
	$encode = '<?php'."\neval(gzinflate(base64_decode("."'".$encode."'".")));\n?>";
	return $encode;
}
function phpdecode($code) {
	$code = str_replace(array('<?php','<?PHP',"eval(gzinflate(base64_decode('","')));",'?>'),
						array('','','','','',''),
						$code);
	$decode = base64_decode($code);
	$decode = @gzinflate($decode);
	return $decode;
}
?>
<form method="post">
<textarea name="source" cols="55" rows="8">
<?php
if(!empty($_POST['source'])) {
	if($_POST['button']=='加密') {
		echo htmlspecialchars(phpencode(stripcslashes($_POST['source'])));
	}
	if($_POST['button']=='解密') {
		echo htmlspecialchars(phpdecode(stripcslashes($_POST['source'])));
	}
}
?>
</textarea>
<?php
if(!empty($_POST['source'])){
if($_POST['button']=='加密') {
echo '<br /><br />加密成功.';
}
if($_POST['button']=='解密') {
echo '<br /><br />解密成功.';
}
}else{
echo '<br /><br />操作失败';
}
?>
<br /><br />
<input type="submit" name="button" value="加密">
<input type="submit" name="button" value="解密">
</form>


相关文章

粤ICP备11097351号-1