php结合md5实现的加密解密方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php结合md5实现的加密解密方法。分享给大家供大家参考,具体如下:

最近在整理代码发现了一个不错的东西,结合md5的加解密算法。网上关于php结合md5的加密,解密算法比较少的,其实php手册里面就有,改一改就行了。在此贴一下,用这算法要加载一个php模块mcrypt,不然用不了。

//加密
function string2secret($str)
{
 $key = "123";
 $td = mcrypt_module_open(MCRYPT_DES,'','ecb','');
 $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
 $ks = mcrypt_enc_get_key_size($td);
 $key = substr(md5($key), 0, $ks);
 mcrypt_generic_init($td, $key, $iv);
 $secret = mcrypt_generic($td, $str);
 mcrypt_generic_deinit($td);
 mcrypt_module_close($td);
 return $secret;
}
//解密
function secret2string($sec)
{
 $key = "123";
 $td = mcrypt_module_open(MCRYPT_DES,'','ecb','');
 $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
 $ks = mcrypt_enc_get_key_size($td);
 $key = substr(md5($key), 0, $ks);
 mcrypt_generic_init($td, $key, $iv);
 $string = mdecrypt_generic($td, $sec);
 mcrypt_generic_deinit($td);
 mcrypt_module_close($td);
 return trim($string);
}
echo secret2string(string2secret("11111111111111111")); //显示结果是11111111111111111
echo string2secret("11111111111111111"); //显示乱码

php经常用的加解密函数,base64_encode,base64_decode。

更多关于PHP加密解密相关内容感兴趣的读者可查看本站专题:《php加密方法总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

解析左右值无限分类的实现算法

一、引言产品分类,多级的树状结构的论坛,邮件列表等许多地方我们都会遇到这样的问题:如何存储多级结构的数据?在PHP的应用中,提供后台数据存储的通常是关系型数据库,它能够保存大量的数据,提...

PHP number_format() 函数定义和用法

number_format() 函数通过千位分组来格式化数字。 语法 number_format(number,decimals,decimalpoint,separator)...

PHP二分查找算法示例【递归与非递归方法】

本文实例讲述了PHP二分查找算法。分享给大家供大家参考,具体如下: binarySearch 二分查找采用的方法比较容易理解,以数组为例: ① 先取数组中间的值floor((low+to...

谈谈PHP的输入输出流

今天有人再PHPCHINA上问我关于PHP传XML怎么做?,再上面已经给出了相应的解决方法。顺便谈谈PHP的输入输出流。    今天暑假在公司的时候,恰好同...

PHP中使用imagick实现把PDF转成图片

PHP中使用imagick实现把PDF转成图片

PHP Manual里,对imagick的描述,真的是简洁,每个成员函数,点击打开就看到如下文本: 复制代码 代码如下: Warning This function is current...