日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

解析PHP安全編程的加密功能(4)_PHP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:如何在PHP中將圖片存放ORACLE中
我這里提供一個用PHP操縱blob字段的例子給你,希望能有所幫助! 這個例子是把用戶上傳的圖片文件存放到BLOB中。 假設(shè)有一個表,結(jié)構(gòu)如下: 以

在標(biāo)準(zhǔn)的PHP軟件包中不包括Mcrypt,因此需要下載它,下載的地址為:ftp://argeas.cs-net.gr/pub/unix/mcrypt/。下載后,按照下面的方法進(jìn)行編譯,并把它擴(kuò)充在PHP中:

下載Mcrypt軟件包。

以下為引用的內(nèi)容:

gunzipmcrypt-x.x.x.tar.gz
tar -xvfmcrypt-x.x.x.tar
./configure --disable-posix-threads
make
make install
cd to your PHP directory.
./configure -with-mcrypt=[dir] [--other-configuration-directives]
make
make install

當(dāng)然了,根據(jù)你的要求和PHP安裝時與互聯(lián)網(wǎng)服務(wù)器軟件的關(guān)系,上面的過程可能需要作適當(dāng)?shù)男薷摹?/p>

使用Mcrypt

Mcrypt的優(yōu)點不僅僅在于其提供的加密算法較多,還在于它可以對數(shù)據(jù)進(jìn)行加/解密處理,此外,它還提供了35種處理數(shù)據(jù)用的函數(shù)。盡管對這些函數(shù)進(jìn)行詳細(xì)介紹已經(jīng)超出了這篇文章的范圍,我還是要就幾個典型的函數(shù)作一下簡要的介紹。

首先,我將介紹如何使用Mcrypt擴(kuò)展庫對數(shù)據(jù)進(jìn)行加密,然后再介紹如何使用它進(jìn)行解密。下面的代碼對這一過程進(jìn)行了演示,首先是對數(shù)據(jù)進(jìn)行加密,然后在瀏覽器上顯示加密后的數(shù)據(jù),并將加密后的數(shù)據(jù)還原為原來的字符串,將它顯示在瀏覽器上。

使用Mcrypt對數(shù)據(jù)進(jìn)行加、解密

以下為引用的內(nèi)容:

// Designate string to be encrypted
= "Applied Cryptography, by Bruce Schneier, is
a wonderful cryptography reference.";

// Encryption/decryption key
key = "Four score and twenty years ago";

// Encryption Algorithm
= MCRYPT_RIJNDAEL_128;

// Create the initialization vector for added security.
= mcrypt_create_iv(mcrypt_get_iv_size(,
MCRYPT_MODE_ECB), MCRYPT_RAND);

// Output original string
print "Original string:
";

// Encrypt
= mcrypt_encrypt(, key,
, MCRYPT_MODE_CBC, );

// Convert to hexadecimal and output to browser
print "Encrypted string: ".bin2hex()."

";

= mcrypt_decrypt(, key,
, MCRYPT_MODE_CBC, );

print "Decrypted string: ";

?>

執(zhí)行上面的腳本將會產(chǎn)生下面的輸出:

以下為引用的內(nèi)容:

Original string: Applied Cryptography, by Bruce Schneier, is a wonderful cryptography reference.

Encrypted string: 02a7c58b1ebd22a9523468694b091e60411cc4dea8652bb8072 34fa06bbfb20e71ecf525f29df58e28f3d9bf541f7ebcecf62b c89fde4d8e7ba1e6cc9ea24850478c11742f5cfa1d23fe22fe8 bfbab5e

Decrypted string: Applied Cryptography, by Bruce Schneier, is a wonderful cryptography reference.

上面的代碼中二個最典型的函數(shù)是mcrypt_encrypt()和mcrypt_decrypt(),它們的用途是顯而易見的。我使用了“電報密碼本”模式,Mcrypt提供了幾種加密方式,由于每種加密方式都有可以影響密碼安全的特定字符,因此每種模式都需要了解。對于沒有接觸過密碼系統(tǒng)的讀者來說,可能對mcrypt_create_iv()函數(shù)更有興趣,盡管對這一函數(shù)進(jìn)行徹底的解釋已經(jīng)超出了本篇文章的范圍,但我仍然會提到它創(chuàng)建的初始化向量(hence, iv),這一向量可以使每條信息彼此獨立。盡管不是所有的模式都需要這一初始化變量,但如果在要求的模式中沒有提供這一變量,PHP就會給出警告信息。

分享:解析PHP在linxu下的安裝與配置
環(huán)境需求與準(zhǔn)備工作 在安裝 PHP 做為 WWW 服務(wù)器的一部份時,我們可以考慮用 UNIX 操作系統(tǒng);或者是 Windows NT/95 等 Win32 API 的平臺。當(dāng)然,大部份的人都會使用 UNIX 來當(dāng)作 PHP 的

來源:模板無憂//所屬分類:PHP教程/更新時間:2009-09-17
相關(guān)PHP教程