background image

参数

$ mode:要使用哪种模式,同样,可以内置函数 mcrypt_list_algorithms()来查看所有支持

的模式

 

 
-------------------------------------------------------------------------------- 
int mcrypt_enc_get_iv_size ( resource 

$td

 ) 

该函数将返回使用的算法的初始化向量(

IV)的大小(看着有点抽象),如果 IV 在算法中

被忽略的话讲返回

0。 

参数

$td

就是使用

mcrypt_module_open 函数的返回值。 

 
-------------------------------------------------------------------------------- 
string mcrypt_create_iv ( int 

$size

 [, int 

$source

 = MCRYPT_DEV_RANDOM ] ) 

该函数会创建一个初始化向量(

IV) 

参数:

 

$source

可以使

MCRYPT_RAND,MCRYPT_DEV_RANDOM, 

MCRYPT_DEV_URANDOM 
注意:

PHP5.3.0 以上的版本,只支持 MCRYPT_RAND 

返回值:

 

成功,则返回一个字符串型的初始向量,失败,则返回

False 

 
-------------------------------------------------------------------------------- 
int mcrypt_enc_get_key_size ( resource 

$td

 ) 

该函数能够取得当前算法所支持的最大的密钥长度(以字节计算)

 

int mcrypt_generic_init ( resource 

$td

 , string 

$key

 , string 

$iv

 ) 

调用

mcrypt_generic() 

or

 mdecrypt_generic()之前,首先需要调用该函数,该函数能够帮我们

初始化缓冲区,用以存放加密数据。

 

参数

$key

:密钥长度,记住,当前

$key

的值,要比函数

mcrypt_enc_get_key_size()返回的值

 

问题:

$key

的值,越大越好吗?有同学会的,帮忙解答下。

 

 
-------------------------------------------------------------------------------- 
string mcrypt_generic ( resource 

$td

 , string 

$data

 ) 

完成了前面的工作之后,就可以调用该函数用以加密数据了。

 

参数

$data

:要加密的数据内容

 

返回值:返回加密后的密文

 

 
-------------------------------------------------------------------------------- 
bool mcrypt_generic_deinit ( resource 

$td

 ) 

该函数能够帮我们卸载当前使用的加密模块。

 

返回值

 

成功时返回

 TRUE, 或者在失败时返回 FALSE. 

 
-------------------------------------------------------------------------------- 
string mdecrypt_generic ( resource 

$td

 , string 

$data

 ) 

该函数能够用来解密数据。