PHP模块mcrypt模块安装

今天想了解一下PHP的加密函数,但是需要mcrypt模块,就自己编译一遍,没想到如此复杂,所以记录下来,也好和大家分享

PHP模块mcrypt安装步骤:

1. 确认是否已安装libmcrypt
ldconfig -p | grep libmcrypt

如果没有安装:
下载地址:http://sourceforge.net/projects/mcrypt
可以同时下载libmcrypt 和 mcrypt
先安装libmcrypt, 默认安装目录为 /usr/local , PHP 手册建议–disable-posix-threads ,不知何故
./configure && make && make install
ldconfig

再安装mcrypt, 默认安装目录为 /usr/local
./configure –with-libmcrypt-prefix=/usr/local

2. 确认是否已安装mhash
ldconfig -p | grep mhash

如果没有安装:
下载地址:http://mhash.sourceforge.net/
./configure && make && make install
ldconfig

3. 现在可以安装mcrypt模块了
cd php-x.x.x/ext/mcrypt
./configure –with-mcrypt=/usr/local/ && make && make install
4. 修改php.ini 就可以了

测试一下:

<?php
 // Designate string to be encrypted 
 $string = "Applied Cryptography, by Bruce Schneier, is a wonderful cryptography reference."; 
 $key = "Four score and twenty years ago"; // Encryption/decryption key
 $cipher_alg = MCRYPT_TWOFISH; 
 $iv=mcrypt_create_iv(mcrypt_get_iv_size($cipher_alg,MCRYPT_MODE_ECB), MCRYPT_RAND); 
 echo "Original string: $string \n";  
 $encrypted_string = mcrypt_encrypt($cipher_alg, $key, $string, MCRYPT_MODE_CBC, $iv); 
 echo "Encrypted string: ".bin2hex($encrypted_string)."\n";
 $decrypted_string = mcrypt_decrypt($cipher_alg, $key, 
 $encrypted_string, MCRYPT_MODE_CBC, $iv); 
 echo "Decrypted string: $decrypted_string\n"; 
 ?>