樓上說的有點道理,只要是計算機方面加密,都有破解的可能。雖然如此,但是如果破解的成本超過目標本身的成本,我們就可以說無法破解,比如用PHP代碼加密工具 Xend 給PHP加密,就是這樣,這款加密軟體就是採用的不可逆的演算法混淆+加密+自定義方式處理的。
❷ php 部分源代碼加密
PHP加密必定用到伺服器擴展,不然怎麼對加密後的代碼解密呢?不依賴擴展,最多隻能用一些工具對代碼進行混淆壓縮,但這只是清除代碼格式,刪除多餘的換行和空格,將變數命替換為單字母等,並不能真正加密,經過分析後仍然能解開。
❸ php頁面加密
常用的有兩種辦法,根據你的實際情況選擇
方案一:包含
---文件a.php----
<?php
define("OK", TRUE);//定義一個常量,原因請看B.PHP
if(密碼正確){
include "b.php"; //把文件b.php包含進來
exit();
}
?>
<div class="frame05"> .........html代碼略.........
------文件b.php-------
<?php
if(!defined('OK')){ //判斷定義了OK這個常量沒有。如果沒有,則表示不是通過A.PHP來訪問的
echo '私人文件,請勿擾';
header("Refresh: 1; URL=a.php");
exit();
}
//其他PHP代碼略
?>
方案二 session
文件A.PHP
<?
session_start();
if(密碼正確){
$_SESSION["ok"]=true;
header("Refresh: 1; URL=b.php");
}
?>
文件B.PHP
<?
session_start();
if(!$_SESSION["ok"]){
echo '私人文件,請勿擾';
header("Refresh: 1; URL=a.php");
exit();
}
//其他代碼略...
?>
❹ PHP加密代碼怎麼寫!
<?
function base_key_encode($txt,$key){
$txt=base64_encode($txt);//先將txt進行base64編碼轉換
$tmp="";//用來存貯通過key加密後的值
for($i=0;$i<strlen($txt);$i++){
$z=$txt[$i];
//echo "z=".$z."<br>$i<hr>";
for($j=0;$j<strlen($key);$j++){//將txt的第i個字元與key的每一個字元進行異或運算
// echo "key[j]=".$key[$j]."<br>";
// echo "z=".$z."<br>";
$z=$z ^ $key[$j];
}
$tmp.=$z;
//echo "<hr>";
}
return $tmp;
}
function base_key_decode($txt,$key){
//echo "txt=".$txt."<br><hr>";
$m=strlen($key)-1;//算出key的長度
for($i=0;$i<strlen($txt);$i++){
$z=$txt[$i];
//echo "z=".$z."<br>$i<hr>";
for($j=$m;$j>=0;$j--){//將txt的第i個字元與key的每一個字元進行異或運算,順序變為key的最後一位字元開始
//echo "j=".$j."<br>";
$z=$z ^ $key[$j];
//echo "z=".$z;
}
$tmp.=$z;
}
$tmp=base64_decode($tmp);
return $tmp;
}
$txt="123test";
echo $txt;//輸出原始串
echo "<br>";
echo base_key_encode($txt,"key");//通過key加密後的串
echo "<br>";
echo base_key_decode(base_key_encode($txt,"key"),"key");//解密後的串
?>
有問題可以網路HI我
覺得好的話,給加點分吧,嘻嘻..
❺ php7代碼如何加密
我們先寫出函數:
<?php
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');
$footerPos = strrpos($contents,'?>');
$contents = substr($contents, $headerPos + 5, $footerPos -
$headerPos);
$encode = base64_encode(gzdeflate($contents)); // 開始編碼
$encode = '<?php'." eval(gzinflate(base64_decode("."'".
$encode."'"."))); ?>";
return file_put_contents($filename, $encode);
}
return false;
}
調用此函數:
$filename = 'result1.php';
encode_file_contents($filename);
echo "OK,加密完成!";
?>
3
測試是否加密成功:文件名為result1.php,運行代碼
4
運行成功。
❻ 如何給php代碼加密
前台加密 後台接收到後 在和鹽值拼接 在加密 存入資料庫 我用md5舉例
前台:md5(pwd); //前台找一個js加密擴展就行
後台:
$salt = mt_rand(100000,999999); //隨機鹽值
$pwd = md5($_GET('pwd').$salt); //這樣雙重加密後入庫了
登錄驗證時 前台也記得加密哦
❼ php代碼怎麼加密最好,不能破解的那種
無論怎麼混淆,它最終都是靠執行eval來運行其代碼的。
所以我們只要在php中載入runkit擴展,啟用runkit.internal_override選項,然後另寫一個php文件來rename掉eval,然後自己實現一個function eval($code) {echo $code;},然後include這個文件。接著只要訪問一下那個文件,這個加密的文件就會自己輸出自己解密後的代碼了。
http://php.net/manual/zh/function.runkit-function-rename.php
這種解密的思路稱為「通過劫持eval破解程序加密」。
❽ PHP代碼如何加密
<?php
functionencode_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');
$footerPos=strrpos($contents,'?>');
$contents=substr($contents,$headerPos+5,$footerPos-$headerPos);
$encode=base64_encode(gzdeflate($contents));//開始編碼
$encode='<?php'." eval(gzinflate(base64_decode("."'".$encode."'"."))); ?>";
returnfile_put_contents($filename,$encode);
}
returnfalse;
}
//調用函數
$filename='dam.php';
encode_file_contents($filename);
echo"OK,加密完成!"
?>
❾ PHP中給源代碼加密的幾種方法
<?php
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');
$footerPos = strrpos($contents,'?>');
$contents = substr($contents, $headerPos + 5, $footerPos - $headerPos);
$encode = base64_encode(gzdeflate($contents)); // 開始編碼
$encode = '<?php'."\n eval(gzinflate(base64_decode("."'".$encode."'".")));\n\n?>";
return file_put_contents($filename, $encode);
}
return false;
}
//調用函數
$filename = 'dam.php';
encode_file_contents($filename);
echo "OK,加密完成!"
?>
<?php
function RandAbc($length = "") { // 返回隨機字元串
$str = "";
return str_shuffle($str);
}
$filename = 'index.php'; //要加密的文件
$T_k1 = RandAbc(); //隨機密匙1
$T_k2 = RandAbc(); //隨機密匙2
$vstr = file_get_contents($filename);
$v1 = base64_encode($vstr);
$c = strtr($v1, $T_k1, $T_k2); //根據密匙替換對應字元。
$c = $T_k1.$T_k2.$c;
$q1 = "O00O0O";
$q2 = "O0O000";
$q3 = "O0OO00";
$q4 = "OO0O00";
$q5 = "OO0000";
$q6 = "O00OO0";
$s = '$'.$q6.'=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$'.$q1.'=$'.$q6.'{3}.$'.$q6.'{6}.$'.$q6.'{33}.$'.$q6.'{30};$'.$q3.'=$'.$q6.'{33}.$'.$q6.'{10}.$'.$q6.'{24}.$'.$q6.'{10}.$'.$q6.'{24};$'.$q4.'=$'.$q3.'{0}.$'.$q6.'{18}.$'.$q6.'{3}.$'.$q3.'{0}.$'.$q3.'{1}.$'.$q6.'{24};$'.$q5.'=$'.$q6.'{7}.$'.$q6.'{13};$'.$q1.'.=$'.$q6.'{22}.$'.$q6.'{36}.$'.$q6.'{29}.$'.$q6.'{26}.$'.$q6.'{30}.$'.$q6.'{32}.$'.$q6.'{35}.$'.$q6.'{26}.$'.$q6.'{30};eval($'.$q1.'("'.base64_encode('$'.$q2.'="'.$c.'";eval(\'?>\'.$'.$q1.'($'.$q3.'($'.$q4.'($'.$q2.',$'.$q5.'*2),$'.$q4.'($'.$q2.',$'.$q5.',$'.$q5.'),$'.$q4.'($'
❿ php代碼被 加密 怎麼解決呀
中間是Base64編碼,在前後找找看,有沒有定義$OO000OO000OO變數,這個變數應該是指向一個函數名,你可以把eval(這個調用替換成一個變數名,然後在最後把這個變數列印出來就是代碼了