请问这两个php自定义函数是干什么的?

第一个functionapi_encrypt($data,$security_key,$cipher=MCRYPT_3DES){$td=mcrypt_module_ope... 第一个

function api_encrypt($data, $security_key, $cipher = MCRYPT_3DES) {
$td = mcrypt_module_open ( $cipher, '', MCRYPT_MODE_ECB, '' ); //MCRYPT_TRIPLEDES,MCRYPT_3DES
if (IS_WINDOWS_OS) {//检查系统是否为windows
$iv = mcrypt_create_iv ( mcrypt_enc_get_iv_size ( $td ), MCRYPT_RAND );//函数用来建立向量初始化 (Initialization vector, IV) 的值。参数 size 为指定的向量初始化治募长度。参数 source 为随机资料的来源,来源可以是 MCRYPT_RAND (系统产生的随机值)、MCRYPT_DEV_RANDOM (UNIX 系统中 /dev/random 的资料)、MCRYPT_DEV_URANDOM (UNIX 系统中 /dev/urandom 的资料),若使用 MCRYPT_RAND 当做随机源,记得先使用 srand() 产生乱数种子。
} else {
$iv = mcrypt_create_iv ( mcrypt_enc_get_iv_size ( $td ), MCRYPT_DEV_RANDOM );
}
$key = substr ( $security_key, 0, mcrypt_enc_get_key_size ( $td ) );
mcrypt_generic_init ( $td, $key, $iv );

$ret = base64_encode ( mcrypt_generic ( $td, $data ) );

mcrypt_generic_deinit ( $td );
mcrypt_module_close ( $td );
return trim ( $ret );
}

第二个
function api_decrypt($value, $security_key, $cipher = MCRYPT_3DES) {
$td = mcrypt_module_open ( $cipher, '', MCRYPT_MODE_ECB, '' ); //'tripledes',MCRYPT_3DES
if (IS_WINDOWS_OS) {//检查系统是否为windows
$iv = mcrypt_create_iv ( mcrypt_enc_get_iv_size ( $td ), MCRYPT_RAND );
} else {
$iv = mcrypt_create_iv ( mcrypt_enc_get_iv_size ( $td ), MCRYPT_DEV_RANDOM );
}
$key = substr ( $security_key, 0, mcrypt_enc_get_key_size ( $td ) );
mcrypt_generic_init ( $td, $key, $iv );

$ret = trim ( mdecrypt_generic ( $td, base64_decode ( $value ) ) );

mcrypt_generic_deinit ( $td );
mcrypt_module_close ( $td );
return trim ( $ret );
}
展开
 我来答
莘赡05V
2015-01-09 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
加密和解密的函数
追问
mcrypt_module_open

mcrypt_create_iv
是干什么用的
追答
resource mcrypt_module_open ( string $algorithm , string $algorithm_directory , string $mode , string $mode_directory )
参数$algorithm:要使用的算法,可以通过函数mcrypt_list_algorithms()来查看所有支持的算法名称
参数$ mode:要使用哪种模式,同样,可以内置函数mcrypt_list_algorithms()来查看所有支持的模式

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
伟少love静静
2015-01-09 · TA获得超过205个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:317万
展开全部
加密解密的吧,
追问
请问
mcrypt_module_open

mcrypt_create_iv
是干什么用的啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式