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