php檔案加密解密
利用base64加解密
base64_encode是加密,而base64_decode是解密
語法:string base64_encode(string data); 語法:string base64_decode(string data);
加密案例如下:
public function encode_file_contents($filename) {
$type=strtolower(substr(strrchr($filename,'.'),1));
if ('php' == $type && is_file($filename) && is_writable($filename)) { // 如果是PHP檔案 並且可寫 則進行壓縮編碼
$contents = file_get_contents($filename); // 判斷檔案是否已經被編碼處 理
$contents = php_strip_whitespace($filename);
// 去除PHP頭部和尾部標識
$headerPos = strpos($contents,'<?php');
// echo $headerPos.'<br>';
//echo $footerPos;//,$footerPos-$headerPos
$contents = substr($contents,$headerPos+5);
$encode = base64_encode(gzdeflate($contents)); // 開始編碼
$encode = '<?php'."\n eval(gzinflate(base64_decode("."'".$encode."'".")));\n\n?>";
return file_put_contents($filename, $encode);
}
return false;
}
public function index(){
$filename = '根目錄下絕對路徑.php';
$a=$this->encode_file_contents($filename);
if($a){
echo "OK,加密完成!";
}else{
echo "No,加密失敗!";
}