導航:首頁 > 編程語言 > php自定義加密

php自定義加密

發布時間:2022-04-17 00:59:30

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如何使用自定義key實現對數據加密解密

伸手黨。。。
搜搜 PHP sodium 這個擴展

❸ 求大佬,解決一個php的自定義加密函數的

md5
按MD5演算法,從字元串得到32位的HASH。
urlencode
把URL做成可以放進地址欄的形式
urldecode
把放進地址欄的東西還原成URL
base64_encode
按BASE64演算法,把字元串(可以是二進制的)加密,得到長度與輸入有關,比輸入長很多,得到的字元范圍是可顯示的。
base64_decode
按BASE64演算法解密
ord
取一個字元串的第一個字母的ASCII代碼
chr
從一個數得到一個字元串,長度1,內容為以這個數為ASCII代碼的字元
explode
以第一個參數為分段符號,把第二個參數切斷,得到一個數組的字元串
implode
以第一個參數為連接符號,把第二個參數(一個數組的字元串)連接成一個字元串
count
返回字元串的長度
substr
取字元串的一部分
srand
設置隨機種子,同樣的隨機種子按照同樣的順序取到的隨機數必然相同,在PHP里一般用於DEBUG。在 PHP 較早版本中,必須在使用rand()之前調用 srand() 播下隨機數種子(以時間為srand的參數)。自 PHP 4.2.0 不再需要這樣做了(直接用rand()就好)。

❹ 怎麼對PHP文件加密 - 技術問答

php的所有加密,都需要對應解密的,這個是php語言(解釋語言)特性決定的。你可以考慮使用eaccelerator進行加密,這個有加密跟加速的功能,使用方式google一下就出來了

❺ 如何對PHP文件進行加密

php加密平台自開通以來已加密了670367個php文件,總數據大小5823.04 MB2015-04-18更新:PHP在線加密Beta版支持命名空間加密,即php源碼中有namespace的文件加密。2015-01-13維護:修復PHP5.5及以上php版本更好支持php加密(免費版已不更新,不修復)
php授權用戶動態簡化,只記錄授權變化狀態2014-12-09新增自定義授權錯誤信息提示(以前為白屏)2014-06-22新增支持heredoc和nowdoc語法結構的字元串2014-03-24修復部份代碼中使用__FILE__不兼容的BUG2013-09-02修改:php免費加密後版權信息中增加中文聲明2013-08-01新增功能:授權版可鎖定php文件加密的文件名,php文件加密後不允許更改文件名。此功能配合鎖定域名功能效果更佳。
修復:部份環境中獲取不到伺服器IP地址2013-06-20維護:常規更新維護,PHP加密代碼小調整。2013-05-12修改:重寫授權版的PHP加密演算法,提高對代碼的保護。2013-04-11調整:發現有個別用戶使用我們免費的php加密平台對php源碼加密後作為非法用途,因此把免費版對上傳的php文件大小調整為50K。2013-03-11修改:為了加強付費授權版的使用安全,把免費版和付費授權版的演算法分開處理。以後升級過程中主要針對付費授權版進行升級,免費版只做BUG修復處理。2013-02-01修改:免費版的版權信息中不再顯示內核更新日期。
修改:編碼加強混淆程度2013-01-07修改:php加密後的代碼中去除「PHPJM_」標志性字元。
新增:先對php源碼壓縮後再加密,減小加密後的php文件大小
修復:php源代碼中的php標簽只有<?而沒有?>時的BUG2012-12-11新增功能:授權版可鎖定在某個日期段內運行,可將您的代碼以試用方式進行發布。
修改:不再限制加密後的文件以.php為擴展名運行,支持以任何擴展名保存加密後的文件。
修復:自定義版權信息亂碼BUG2012-11-14PHP在線加密平台上線2012-11-06完成PHP加密核心演算法代碼。

❻ 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我
覺得好的話,給加點分吧,嘻嘻..

❼ php介面怎麼加密啊

你說的加密應該有兩種層面 第一是介面數據的加密 第二是訪問介面合法性的驗證
針對第一種你可以了解下RSA非對稱加密方式 對請求介面參數和數據回傳進行加密
第二種可以使用簽名驗證或者自定義token的方式 自定義token相對會比較簡單

❽ 如何給編寫的PHP程序加密

你可以去下載一個

SourceCop for PHP
是一款 Windows 平台應用程序,你可以使用它加密你的 PHP 源代碼
另外,你也可以限制加密後的 PHP 腳本代碼運行於指定的 IP 或設定腳本代碼的到期時限。
程序特徵

* 獨特和非常簡單的程序界面
* 加密你的 PHP 源代碼
* 不需要安裝在伺服器上
* 方案非常容易操作
* 原始代碼備份選項
* 單擊進行加密
* 加密後的腳本代碼可以運行於任何平台和 PHP 的大部分版本

其實PHP沒必要加密 加密怎麼都會對你程序有影響

❾ 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這樣運行在伺服器端的,除非人家黑了你的伺服器將代碼直接考出來或者你講代碼交給了客戶,否則不會有人能看到你的源代碼的。
樓主這個問題我也想過,我是怕給客戶做完以後,人家拿走用去了,不給錢。
大多數人都會給自己的網站流一個「後門」,這個後門只有網站開發者自己知道,必要的時候通過後門進入,強制關閉網站就可以了。
以前我還干過一件蛋疼的事,就是用java的class和C的dll,利用這兩種文件的不可逆編譯性。將一些核心的加密和解密演算法,用java寫好後,編譯成class文件或者用C寫好,編譯成dll文件,然後讓php調用。但是弄起來很蛋疼,尤其是class,需要一個什麼javaBridge的東西。但是目前各種逆編譯手段的完善,最快被幹掉的就是class。似乎現在部分dll文件都被幹掉了。

閱讀全文

與php自定義加密相關的資料

熱點內容
dns使用加密措施嗎 瀏覽:172
php獨立運行 瀏覽:530
手機sh執行命令 瀏覽:727
雲伺服器的角色 瀏覽:733
單片機頻率比例 瀏覽:840
我的世界伺服器如何關閉正版驗證 瀏覽:504
如何查roid伺服器上的 瀏覽:130
安卓手機主板如何撬晶元不掉電 瀏覽:249
php各個框架的優缺點 瀏覽:101
php1100生成數組 瀏覽:359
以後做平面設計好還是程序員好 瀏覽:552
雲伺服器應用管理 瀏覽:438
飢荒雲伺服器搭建過程 瀏覽:186
可編程式控制制器優點 瀏覽:99
壓縮垃圾車說明書 瀏覽:28
五輪書pdf 瀏覽:802
單片機定時流水中斷系統流水燈 瀏覽:701
u8如何連接伺服器配置 瀏覽:68
動力在於緩解壓力 瀏覽:867
報考科一用什麼app 瀏覽:346