php的Mcrypt扩展库的介绍

一 Mcrypt库常量

1、代码
<?php
	$en_dir = mcrypt_list_algorithms();						//函数返回Mcrypt支持的加密算法数组
	echo "Mcrypt支持的算法有:";
	foreach($en_dir as $en_value){
		echo $en_value." ";
}
?>
<?php
	$mo_dir = mcrypt_list_modes();						//函数返回Mcrypt支持的算法模式数组
	echo "<p>Mcrypt支持的加密模式有:";
	foreach($mo_dir as $mo_value){
		echo $mo_value." ";
}
?>
 
2、运行结果
Mcrypt支持的算法有:cast-128 gost rijndael-128 twofish cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes arcfour

Mcrypt支持的加密模式有:cbc cfb ctr ecb ncfb nofb ofb stream

3、说明
这些算法和模式在实际应用中要用常量表示,写的时候要分别加上前缀MCRYPT_和MCRYPT_MODE_
二 Mcrypt应用
1、代码
<?php
	$str = "PHP从基础到项目实战 PHP从入门到精通";						//加密文本
	$key = "key:1111";													//密钥
	$cipher = MCRYPT_DES;												//密码类型
	$modes = MCRYPT_MODE_ECB;										//密码模式
	$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes),MCRYPT_RAND);	//初始化向量
	echo "加密前:".$str."<p>";
	$str_encrypt = mcrypt_encrypt($cipher,$key,$str,$modes,$iv);				//加密函数
	echo "加密后:".$str_encrypt." <p>";
	$str_decrypt = mcrypt_decrypt($cipher,$key,$str_encrypt,$modes,$iv);			//解密函数
	echo "还原:".$str_decrypt."<p>";
?>
 
2、运行结果
加密前:PHP从基础到项目实战 PHP从入门到精通

加密后:�/桹o笱燳�.=)� �:[嚕�<�)韢S啜�

还原:PHP从基础到项目实战 PHP从入门到精通

3、说明

加密函数和解密函数中的cipher、key和mode必须一致,否则数据不会被还原。

猜你喜欢

转载自cakin24.iteye.com/blog/2377639