// 安装 MCrypt 包
$ wget http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz?use_mirror=cdnetworks-kr-2
$ tar -xzf libmcrypt-2.5.8.tar.gz
$ cd libmcrypt-2.5.8
$ ./configure --prefix=/home/app/libmcrypt-2.5.8
$ make
$ sudo make install
// 编译 php
$ wget http://cn.php.net/get/php-5.2.13.tar.gz/from/this/mirror
$ tar -xzf php-5.2.13.tar.gz
$ cd php-5.2.13/ext/mcrypt/
$ /home/php-5.2.0/bin/phpize
$ ./configure --with-php-config=/home/php-5.2.0/bin/php-config --with-mcrypt=/home/app/libmcrypt-2.5.8/
$ sudo mkdir -p /home/php5/lib/php/extensions/no-debug-non-zts-20060613
$ sudo cp -p modules/mcrypt.so /home/php5/lib/php/extensions/no-debug-non-zts-20060613/

测试:

dl("mcrypt.so");
$string = "test@abc.com";
$stuff="String to enc/enc/dec/dec =,=,";
$key="XiTo74dOO09N48YeUmuvbL0E";
$iv = mcrypt_create_iv (mcrypt_get_block_size (MCRYPT_TripleDES, MCRYPT_MODE_CBC), MCRYPT_DEV_RANDOM);

$iv64=base64_encode($iv);
echo "iv:".base64_encode($iv);
echo "
\n"; $key=base64_decode("U42/zc3r6zC2Ok11BqO+lA=="); $iv=base64_decode("xTXaC2FQEGWOVBqPIipt1A=="); //$enc=mcrypt_cbc (MCRYPT_TripleDES, $key, $string, MCRYPT_ENCRYPT, $iv); //MCRYPT_RIJNDAEL_128 $enc=mcrypt_cbc (MCRYPT_RIJNDAEL_128, $key, $string, MCRYPT_ENCRYPT, $iv); $ret=base64_encode($enc); echo "encrypt:".$ret; echo "
\n"; $string=$ret; $string = trim(base64_decode($string)); //$dec = mcrypt_cbc (MCRYPT_TripleDES, $key, $string, MCRYPT_DECRYPT, $iv); $dec = mcrypt_cbc (MCRYPT_RIJNDAEL_128, $key, $string, MCRYPT_DECRYPT, $iv); echo "decrypt:".$dec;