程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP中如何安裝 Mhash擴展庫

PHP中如何安裝 Mhash擴展庫

編輯:關於PHP編程

綜述:0.8.3版的Mhash擴展庫支持12種混編算法,仔細檢查Mhash v.0.8.3的頭文件mhash.h可以知道,它支持下面的混編算法:
CRC32 HAVAL160 MD5
CRC32B HAVAL192 RIPEMD160
GOST HAVAL224 SHA1
HAVAL128 HAVAL256 TIGER
如何安裝Mhash擴展庫?
象Mcrypt一 樣,Mhash也沒有包括在PHP軟件包中,下面是安裝過程(非Windows):
首先,下載Mhash擴展庫(http://sourceforge.net/projects/mhash/ )
gunzipmhash-x.x.x.tar.gz
tar -xvfmhash-x.x.x.tar
./configure
make
make install
cd
./configure -with-mhash=[dir] [--other-configuration-directives]
make
make install
然後,象Mcrypt一樣,根據PHP在互聯網服務器軟件上的安裝方式,可能需要對Mhash進行其他的配置。
對於Windows用戶而言, http://www.php4win.de中有一個很好的包括Mhash擴展庫在內的PHP軟件包。只要下載並進行解壓縮,然後根據其中的readme.first文檔中的指令進行安裝即可。
如何使用Mhash?
對信息進行混編非常簡單,看一下下面的例子:
<?php
$hash_alg = MHASH_TIGER;
$message = "These are the directions to the secret fort. Two steps left, three steps right, and cha chacha.";
$hashed_message = mhash($hash_alg, $message);
print "The hashed message is ". bin2hex($hashed_message);
?>
執行這一段腳本程序將得到下面的輸出結果:
The hashed message is 07a92a4db3a4177f19ec9034ae5400eb60d1a9fbb4ade461
在這裡使用bin2hex()函數的目的是方便我們理解$hashed_message 的輸出,這是因為混編的結果是二進制格式,為了能夠將它轉化為易於理解的格式,必須將它轉換為十六進制格式。
需要注意的是,混編是單向功能,其結果不依賴輸入。
Mhash還有其他一些有用的函數。例如,我們需要輸出一個Mhash支持的算法的名字,由於 Mhash支持的所有算法的名字都以MHASH_開頭,因此,可以通過執行如下的代碼完成這一任務:
<?php
$hash_alg = MHASH_TIGER;
print "This data has been hashed with the".mhash_get_hash_name($hashed_message)."hashing algorithm.";
?>>
得到的輸出是:
This data has been hashed with the TIGER hashing algorithm.
關於PHP和加密需要注意什麼問題?
PHP加密需要注意的一個重要問題是在服務器和客戶端之間傳輸的數據在傳輸過程中是不安全的!PHP是一種服務器端技術,不能阻止數據在傳輸過程中洩密。因此,如果想實現一個完整的安全應用,建議選用 Apache-SSL或其他的安全服務器。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved