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 相关文章推荐
生成缩略图
Oct 09 PHP
一些关于PHP的知识
Nov 17 PHP
linux下为php添加curl扩展的方法
Jul 29 PHP
批量去除PHP文件中bom的PHP代码
Mar 13 PHP
php数据结构与算法(PHP描述) 查找与二分法查找
Jun 21 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
Jun 19 PHP
php合并数组中相同元素的方法
Nov 13 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
Jan 07 PHP
php实现获取文件mime类型的方法
Feb 11 PHP
php清除和销毁session的方法分析
Mar 19 PHP
一波PHP中cURL库的常见用法代码示例
May 06 PHP
Laravel 错误提示本地化的实现
Oct 22 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
ThinkPHP中的常用查询语言汇总
2014/08/22 PHP
简单介绍PHP非阻塞模式
2016/03/03 PHP
Yii数据模型中rules类验证器用法分析
2016/07/15 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
php post换行的方法
2020/02/03 PHP
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
浅析jQuery Mobile的初始化事件
2015/12/03 Javascript
JS事件添加和移出的兼容写法示例
2016/06/20 Javascript
js html css实现复选框全选与反选
2016/10/09 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
2018/10/08 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
python单元测试unittest实例详解
2015/05/11 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
解决python3 requests headers参数不能有中文的问题
2019/08/21 Python
Python3使用PySynth制作音乐的方法
2019/09/09 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
Pytorch 卷积中的 Input Shape用法
2020/06/29 Python
python中sys模块是做什么用的
2020/08/16 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
2020/09/25 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
HTML5中FileReader接口使用方法实例详解
2017/08/26 HTML / CSS
特色冷饮店创业计划书
2014/01/28 职场文书
庆七一活动总结
2014/08/27 职场文书
个人委托书范文
2015/01/28 职场文书
时尚女魔头观后感
2015/06/04 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
六一儿童节新闻稿
2015/07/17 职场文书
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python
WINDOWS下安装mysql 8.x 的方法图文教程
2022/04/19 MySQL
VUE递归树形实现多级列表
2022/07/15 Vue.js
华为HarmonyOS3.0强在哪? 看看鸿蒙3.0这7个小功能
2023/01/09 数码科技