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


Posted in PHP onJanuary 25, 2016

本文实例讲述了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的十大要点(上)
Feb 04 PHP
PHP 字符截取 解决中文的截取问题,不用mb系列
Sep 29 PHP
PHP访问MYSQL数据库封装类(附函数说明)
Dec 04 PHP
php使用异或实现的加密解密实例
Sep 04 PHP
yii框架通过控制台命令创建定时任务示例
Apr 30 PHP
PHP实现的简易版图片相似度比较
Jan 07 PHP
php支持中文字符串分割的函数
May 28 PHP
浅析PHP中Session可能会引起并发问题
Jul 23 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
Sep 28 PHP
PHP的PDO大对象(LOBs)
Jan 27 PHP
laravel5表单唯一验证的实例代码
Sep 30 PHP
laravel 解决多库下的DB::transaction()事务失效问题
Oct 21 PHP
PHP几个实用自定义函数小结
Jan 25 #PHP
php代码架构的八点注意事项
Jan 25 #PHP
详解js异步文件加载器
Jan 24 #PHP
PHP导出Excel实例讲解
Jan 24 #PHP
PHP验证码生成原理和实现
Jan 24 #PHP
详解PHP对象的串行化与反串行化
Jan 24 #PHP
php上传图片获取路径及给表单字段赋值的方法
Jan 23 #PHP
You might like
[原创]php逐行读取txt文件写入数组的方法
2015/07/02 PHP
PHP利用imagick生成组合缩略图
2016/02/19 PHP
php中引用符号(&)的使用详细介绍
2016/12/06 PHP
PHP让数组中有相同值的组成新的数组实例
2017/12/31 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
js 浏览器事件介绍
2012/03/30 Javascript
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
2016/01/29 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
2019/04/30 Javascript
NodeJs生成sitemap站点地图的方法示例
2019/06/11 NodeJs
解决vue打包后vendor.js文件过大问题
2019/07/03 Javascript
js+canvas实现转盘效果(两个版本)
2020/09/13 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
[49:13]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第一局
2016/02/27 DOTA
Python中函数的用法实例教程
2014/09/08 Python
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
python使用正则表达式的search()函数实现指定位置搜索功能
2017/11/10 Python
详谈pandas中agg函数和apply函数的区别
2018/04/20 Python
利用python实现在微信群刷屏的方法
2019/02/21 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
对DJango视图(views)和模版(templates)的使用详解
2019/07/17 Python
余弦相似性计算及python代码实现过程解析
2019/09/18 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
python 引用传递和值传递详解(实参,形参)
2020/06/05 Python
pandas创建DataFrame的7种方法小结
2020/06/14 Python
物流专业求职信
2014/06/30 职场文书
大专生自我鉴定怎么写
2014/09/16 职场文书
房屋授权委托书范本
2014/10/07 职场文书
2014年服务员个人工作总结
2014/12/23 职场文书
总结Python常用的魔法方法
2021/05/25 Python