参数
$ 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
)
该函数能够用来解密数据。