Time of Update: 2017-07-08
PHP中內建了相當多的加密的方法,這裡我們來看一下mcrypt擴充的使用方式。也是在工作中需要用這個東西加密訪問使用者的Cookie的值,認真的學習了這個方面的內容。1.簡介Mcrypt是PHP的一個擴充,完成了常用密碼編譯演算法的封裝。其實該擴充是對mcrypt標準類庫的封裝,mcrypt完成了相當多的常用密碼編譯演算法,如DES, TripleDES, Blowfish (default), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2
Time of Update: 2017-07-08
本文執行個體為大家分享了php使用者註冊密碼的加密,供大家參考,具體內容如下一、代碼1、conn.php<?php $conn = mysql_connect("localhost", "root", "111") or die("串連資料庫伺服器失敗!".mysql_error()); //串連MySQL伺服器
Time of Update: 2017-07-08
php 產生簽名及驗證簽名<?php /** * 根據原文產生簽名內容 * * @param string $data 原文內容 * * @return string */ function sign($data) { $filePath = 'test.p12'; if(!file_exists($filePath)) { return false; } $pkcs12 =
Time of Update: 2017-07-08
php rsa 加密,解密,簽名,驗簽由於對接第三方機構使用的是Java版本的rsa加解密方法,所有剛開始在網上搜到很多PHP版本的rsa加解密,但是對接java大多都不適用。以下php版本是適用於對接java介面,java適用密鑰再php語言使用是需要添加-----BEGIN CERTIFICATE----- -----END CERTIFICATE----- 使用密鑰:加密公開金鑰 public_key.cer解密私密金鑰 private_key.key簽名私密金鑰
Time of Update: 2017-07-08
php 在做註冊、登入或是url 傳遞參數時都會用到 字元變數的加密,下面我們就來簡單的介紹下:php 內建的加密函數無法復原的加密函數為:md5()、crypt() md5() 用來計算 MD5 哈稀。文法為:string md5(string str); crypt() 將字串用 UNIX 的標準加密 DES 模組加密。這是單向的加密函數,無法解密。欲比對字串,將已加密的字串的頭二個字元放在 salt 的參數中,再比對加密後的字串。文法為:string crypt(string str,
Time of Update: 2017-07-08
本文執行個體講述了php實現parent調用父類的構造方法與被覆寫的方法。分享給大家供大家參考。具體分析如下:覆寫:被重新設計。在子類中定義構造方法時,需要傳遞參數給父類的構造方法,否則我們得到的可能是一個構造不完整的對象。要調用父類的方法,首先要找到一個引用類本身的途徑:控制代碼(handle),PHP為此提供了parent關鍵字。 parent 調用父類的構造方法要引用一個類而不是對象的方法,可以使用 ::(兩個冒號),而不是 ->。所以, parent::construct()
Time of Update: 2017-07-08
一,this1,要用this,你必有是一個對像的形勢,不然它會報錯的,Fatal error: Using $this when not in object context。2,this可以調用本類中的方法和屬性,也可以調用父類中的可以調的方法和屬性二,self 1,self可以訪問本類中的靜態屬性和靜態方法,可以訪問父類中的靜態屬性和靜態方法。2,用self時,可以不用執行個體化的三,parent
Time of Update: 2017-07-08
{一}PHP中this,self,parent的區別之一this篇物件導向編程(OOP,Object OrientedProgramming)現已經成為編程人員的一項基本技能。利用OOP的思想進行PHP的進階編程,對於提高PHP編程能力和規劃web開發構架都是很有意義的。PHP5經過重寫後,對OOP的支援額有了很大的飛躍,成為了具備了大部分物件導向語言的特性的語言,比PHP4有了很多的物件導向的特性。這裡我主要談的是this,self,parent
Time of Update: 2017-07-08
首先我們來明白上面三個關鍵字: this,self,parent,從字面上比較好理解,是指這,自己,父親,呵呵,比較好玩了,我們先建立幾個概念,這三個關鍵字分別是用在什麼地方呢?我們初步解釋一下,this是指向當前對象的指標(我們姑且用C裡面的指標來看吧),self是指向當前類的指標,parent是指向父類的指標。我們這裡頻繁使用指標來描述,是因為沒有更好的語言來表達,呵呵,語文沒學好。 -_-# 這麼說還不能很瞭解,那我們就根據實際的例子結合來講講。 (1) this
Time of Update: 2017-07-08
在PHP中不能定義重名的函數,也包括不能再同一個類中定義重名的方法,所以也就沒有方法重載。前言最近在做THINKPHP開發項目中,用到了 parent:: 關鍵字,實際上 parent::關鍵字 是PHP中常要用到的一個功能,這不僅僅是在 THINKPHP 項目開發中,即使是一個小型的企業網站,也會有許多相同的function功能,我們可以封裝成一個父類 class,然後多個子類直接繼承公用部分父類。PHP5中使用parent::來引用父類的方法。parent::
Time of Update: 2017-07-08
1、加密解密的第一步是產生公開金鑰、私密金鑰對,私密金鑰加密的內容能通過公開金鑰解密(反過來亦可以)下載開源RSA密鑰產生工具openssl(通常Linux系統都內建該程式),解壓縮至獨立的檔案夾,進入其中的bin目錄,執行以下命令:代碼如下:openssl genrsa -out rsa_private_key.pem 1024openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out
Time of Update: 2017-07-08
在PHP中不能定義重名的函數,也包括不能再同一個類中定義重名的方法,所以也就沒有方法重載。單在子類中可以定義和父類重名的方法,因為父類的方法已經在子類中存在,這樣在子類中就可以把從父類中繼承過來的方法重寫。子類中重載父類的方法就是在子類中覆蓋從父類中繼承過來的方法,父類中的方法被子類繼承過來不就可以直接使用嗎?為什麼還要重載呢?因為有一些情況我們必須要覆蓋的。例如,有一個“鳥”類,在這個類中定義了鳥的通用方法“飛翔”。將“鴕鳥”類作為它的子類,就會將“飛翔”的方法繼承過來,但只要一調用“鴕鳥”類
Time of Update: 2017-07-08
利用PHP指令碼在Linux下用md5函數加密字串的方法,只需Linux系統中安裝過PHP然後在命令列中操作文中樣本即可#touch a.php //建立a.php檔案#vi a.php //用vi 編輯a.php檔案將<?php echo md5(123456); ?>輸入進去後儲存#php a.php
Time of Update: 2017-07-08
“重載”是類的多態的一種實現。函數重載指一個標識符被用作多個函數名,且能夠通過函數的參數個數或參數類型將這些同名的函數區分開來,調用不發生混淆。這樣做的主要好處就是,不用為了對不同的參數類型或參數個數,而寫多個函數。多個函數用同一個名字,但參數表,即參數的個數或(和)資料類型可以不同,調用的時候,雖然方法名字相同,但根據參數表可以自動調用對應的函數。 PHP4 中僅僅實現了物件導向的部分的、簡單的功能,而 PHP5 以後對對象的支援就強大的多了。 對於多態的實現,PHP4
Time of Update: 2017-07-08
PHP有一個單重繼承的,限制訪問的,可以重載的物件模型.另外,PHP支援對屬性和方法的限制性訪問. 你可以聲明成員為private,不允許外部類訪問. 最後,PHP允許一個子類從它的父類中重載成員. PHP的物件模型把對象看成與任何其它資料類型不同,通過引用來傳遞. PHP不要求你通過引用(reference)顯性傳遞和返回對象. 在本章的最後將會詳細闡述基於引用的物件模型. 它是PHP5中最重要的新特性. 有了更直接的物件模型,就擁有了附加的優勢: 效率提高,
Time of Update: 2017-07-08
什麼是多態?多態(Polymorphism)按字面的意思就是“多種狀態”。在物件導向語言中,介面的多種不同的實現方式即為多態。引用Charlie
Time of Update: 2017-07-08
由於PHP是弱類型語言,因此函數的輸入參數類型無法確定(可以使用類型暗示,但是類型暗示無法用在諸如整型,字串之類的標量類型上),並且對於一個函數,比如只定義了3個輸入參數,PHP卻運行調用的時候輸入4個或者更多的參數。因此基於這2點,註定了PHP中無法重載函數,(類似Javascript語言),也無法有建構函式的重載。由於實現函數的重載對提高開發效率很有協助,如果能象C#或者C++那樣,那就非常好了。事實上,PHP的提供了一個魔術方法,mixed call ( string name,
Time of Update: 2017-07-08
重寫:就是當子類繼承父類的一些方法後,子類又在其內部定義了相同的方法,則這個新定義的方法會覆蓋繼承而來的父類的方法,子類只能調用其內部定義的方法。有以下幾點要求:1.當一個父類和子類有一個方法,參數和名字完全一致,那麼子類方法會覆蓋父類的方法。必須參數一致,才會實現方法覆蓋。當參數個數不一致,則會報錯(這就牽扯到上面說所得方法重載)。當方法名字不一致,就不會覆蓋,只是子類新定義的方法。2.在實行方法覆蓋的時候,存取修飾詞可以是不一樣的,但是子類的存取範圍必須大於等於父類的存取範圍。這是php這些
Time of Update: 2017-07-08
對於弱類型語言來說,PHP函數重載,並不像一般的OOP那樣。因為函數重載必須滿足兩個條件:1、函數參數的個數不一樣。2、參數的類型不一樣。這兩點,PHP都沒有辦法滿足,您可以對函數多添加參數,只是相當於多傳了個臨時變數。而弱類型本來就不區分,所以無法通過這些來實現。但是,可以通過下面的方法來實現簡單的偽重載吧。1、預設參數從這個上面就可以看到,如果一個函數裡面,我對不是必須參數填寫添加相應的預設值,就可以完成相應的功能。 function overloadFun($param1,
Time of Update: 2017-07-08
對象介面使用介面(interface),可以指定某個類必須實現哪些方法,但不需要定義這些方法的具體內容。介面是通過 interface 關鍵字來定義的,就像定義一個標準的類一樣,但其中定義所有的方法都是空的。介面中定義的所有方法都必須是公有,這是介面的特性。實現(implements)要實現一個介面,使用 implements