十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
在開發(fā)的時候遇到個現(xiàn)象。對方用PHP base64_encode() 對字符串進行加米。但我這邊是用Java解馬。導(dǎo)致出現(xiàn)問題。
月湖網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,月湖網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為月湖上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的月湖做網(wǎng)站的公司定做!
你這不是md5加密嗎,sql直接寫就行了。你在數(shù)據(jù)庫工具中執(zhí)行一下,select md5(1);或者php的md5函數(shù) echo md5(1);php自帶可逆的加密是base64_encode和base64_decode,但是這個不是等長的,根據(jù)輸入的內(nèi)容變換長度。
這個跟php沒有關(guān)系,單純的是兩個密碼學(xué)的算法。如果真想搞清楚區(qū)別,你需要有密碼學(xué)的基礎(chǔ)知識。我簡單說一下,這兩個都是標(biāo)準(zhǔn)的密碼學(xué)算法,應(yīng)用廣泛。
PHP5的手冊crypt函數(shù)如下:string crypt ( string $str [, string $salt ] )第二參數(shù)是字符串形式。所以你這樣寫法是不可以的。[CRYPT_MD5]MD5 散列使用一個以 $1$ 開始的 12 字符的字符串鹽值。
無法解密。欲比對字符串,將已加密的字符串的頭二個字符放在 salt 的參數(shù)中,再比對加密后的字符串。
crypt(string $str,$string $salt);函數(shù)返回使用 DES、Blowfish 或 MD5 算法加密的字符串。具體算法依賴于PHP檢查之后支持的算法和$salt的格式和長度,當(dāng) 然具體結(jié)果也和操作系統(tǒng)有關(guān)。
PHP1 已經(jīng)不能用mcrypt了,所以我用的是openssl_encrypt和openssl_decrypt。
其中 Mcrypt 在 PHP 0 中被棄用(The Function Mycrypt is Deprecated),在 PHP 0 中被移除,所以即可起你應(yīng)該使用 OpenSSL 來實現(xiàn) AES 的數(shù)據(jù)加解密。
最近兩年一直從事與金融相關(guān)項目的開發(fā)與維護。但是,關(guān)于 PHP 加密解密的最佳實踐,網(wǎng)上沒有人給出一個完美的總結(jié)。恰逢最近看了《圖解密碼技術(shù)》一書,對 PHP 加解密有了更深刻的認識。
php如果將代碼過分的加密話,那么,在服務(wù)器運行的時候,還需要將代碼解密再進行解釋,這樣大大加大了服務(wù)器的負擔(dān)以及反應(yīng)時間,對用戶的體感也不很好。
Zend Guard加密后的PHP源程序需要環(huán)境中安裝Zend Optimizer才可以運行,同時Zend Optimizer在加密的過程中也可以實現(xiàn)優(yōu)化代碼的作用。ionCube IonCube是用來加密PHP的工具。ionCube Encoder可以把PHP源代碼轉(zhuǎn)換成ByteCode。
解析器解析php文件其實就是執(zhí)行php文件,你的php文件可能有邏輯(比方說查詢數(shù)據(jù)庫),也可能有輸出。但最后apache服務(wù)器用到的只是你的php執(zhí)行產(chǎn)生的輸出。
Apache本身是不具備執(zhí)行PHP代碼的能力的,需要把PHP當(dāng)成Apache的一個模塊來加載來解析PHP文件。
給程序加密碼,轉(zhuǎn)換成不可讀的代碼形式就行了。
Zend Guard是目前市面上最成熟的PHP源碼加密產(chǎn)品。經(jīng)過搜集資料,親身測試后,總結(jié)了如何利用Zend Guard對PHP文件進行加密,以及如何利用Zend Loader對加密后的PHP文件進行解密。