關于“php加密對比”的問題,小編就整理了【3】個相關介紹“php加密對比”的解答:
PHP加密工具選擇,ioncube和ZendOptimizer各自的優(yōu)點是什么?在PHP項目開發(fā)中,常用的加密工具就是Zend公司的ZendGuard,主要依托于ZendOptimizer的解析。另一個就是ionCube公司的ionCube PHP Encode。這兩各較常用的Encode軟件其二者有著不同的功能與各自的優(yōu)點。
ZendOptimizer(Zend Guard):
1、Zend Guard只能對帶有PHP標記或源碼的文件進行加密,對于其他不帶有PHP標記的文本方式保存的文件不能進行加密操作。
2、ZendGuard只能用于配置了ZendOptimizer的環(huán)境中,不能獨立運行。
3、ZendGuard在PHP4下的錯誤,對于PHP4的絕對路徑及相對路徑在加密時會出現(xiàn)較大的差別。
4、支持PHP4.2.X~5.2.X版本的加密。
5、使用的ZendOptimizer(PHP引擎)可以提高源碼20~50%以上的速度優(yōu)化,結合ZendGuard可以提高至50%以上的性能速度 優(yōu)化,且ZendOptimizer可以安裝于當前較多主流系統(tǒng)中。
ionCube:
1、ionCube不僅可以加密帶有PHP標記或源碼的php文件還可以對非php文件的以text方式保存的文件進行加密操作,如xml,js,css等。(但是讀寫時必須使用 ionCube所提供的讀入API進行讀寫操作。)
Php接口應該加密哪些?在實際開發(fā)中PHP接口開發(fā)是PHP常見的技術,可以通過接口進行一些操作,可以訪問接口獲取數(shù)據(jù),給app提供數(shù)據(jù)接口等,但是如果接口沒有加密解密的過程,很容易發(fā)生盜用和不安全的操作。
下邊簡單介紹一下API接口的加密方法
如app要請求用戶列表,api是“index.php?module=user&action=list”
app生成token = md5 (‘user’.’list′.’abc12@1qwe~456’) = 5e549e3c1e808125d1a7e0746625abb6;
則實際發(fā)起請求為 “index.php?module=user&action=list&token=5e549e3c1e808125d1a7e0746625abb6”
服務器端接到請求用同樣方法計算token:
<?php
$module = $_GET['module'];
$action = $_GET['action'];
$urltoken = $_GET['token']; //app發(fā)送過來的token
$token = md5($module.$action.'abc12@1qwe~456');
php7代碼如何加密?我們先寫出函數(shù):
<?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); // 判斷文件是否已經(jīng)被編碼處
理
$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)); // 開始編碼
到此,以上就是小編對于“php加密對比”的問題就介紹到這了,希望介紹關于“php加密對比”的【3】點解答對大家有用。