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 相关文章推荐
第十四节--命名空间
Nov 16 PHP
php抓取https的内容的代码
Apr 06 PHP
使用PHP 5.0创建图形的巧妙方法
Oct 12 PHP
PHP关联链接常用代码
Nov 05 PHP
深入php数据采集的详解
Jun 02 PHP
php使浏览器直接下载pdf文件的方法
Nov 15 PHP
eaglephp使用微信api接口开发微信框架
Jan 09 PHP
使用PHP生成PDF方法详解
Jan 23 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
Dec 29 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
May 04 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
Jan 23 PHP
PHP执行linux命令6个函数代码实例
Nov 24 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代码
2010/02/16 PHP
php调用mysql数据 dbclass类
2011/05/07 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
2015/03/12 PHP
[原创]php实现数组按拼音顺序排序的方法
2017/05/03 PHP
php如何获取Http请求
2020/04/30 PHP
汉化英文版的Dreamweaver CS5并自动提示jquery
2010/11/25 Javascript
jQuery Ajax 实例全解析
2011/04/20 Javascript
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
2017/03/03 Javascript
新手快速上手webpack4打包工具的使用详解
2019/01/28 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
深入解析vue 源码目录及构建过程分析
2019/04/24 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
Python 字典(Dictionary)操作详解
2014/03/11 Python
pip matplotlib报错equired packages can not be built解决
2018/01/06 Python
Python使用MD5加密算法对字符串进行加密操作示例
2018/03/30 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
2018/11/07 Python
梅尔倒谱系数(MFCC)实现
2019/06/19 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
python定义类self用法实例解析
2020/01/22 Python
Python调用Windows命令打印文件
2020/02/07 Python
Python列表去重复项的N种方法(实例代码)
2020/05/12 Python
PyCharm MySQL可视化Database配置过程图解
2020/06/09 Python
python中判断数字是否为质数的实例讲解
2020/12/06 Python
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
高分子材料与工程专业个人求职信
2013/12/15 职场文书
道德模范先进事迹
2014/02/14 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
2015年会计工作总结范文
2015/05/26 职场文书
军事博物馆观后感
2015/06/05 职场文书
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android