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 相关文章推荐
程序员编程十条戒律
Jul 09 PHP
php && 逻辑与运算符使用说明
Mar 04 PHP
单点登录 Ucenter示例分析
Oct 29 PHP
ThinkPHP模板IF标签用法详解
Jul 01 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
Apr 17 PHP
typecho插件编写教程(五):核心代码
May 28 PHP
php实现购物车功能(上)
Jul 23 PHP
PHP使用数组依次替换字符串中匹配项
Jan 08 PHP
PHP实现数组array转换成xml的方法
Jul 19 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
Nov 05 PHP
PHP7如何开启Opcode打造强悍性能详解
May 11 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
Apr 26 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 Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
浅析php变量修饰符static的使用
2013/06/28 PHP
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
2015/12/21 PHP
JS读取cookies信息(记录用户名)
2012/01/10 Javascript
extjs ColumnChart设置不同的颜色实现代码
2013/05/17 Javascript
jquery操作复选框checkbox的方法汇总
2015/02/05 Javascript
JS中Location使用详解
2015/05/12 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
js简单实现Select互换数据的方法
2015/08/17 Javascript
深入理解 JavaScript 中的 JSON
2017/04/06 Javascript
jQuery EasyUI结合zTree树形结构制作web页面
2017/09/01 jQuery
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
浅谈vuepress 踩坑记
2018/04/18 Javascript
微信小程序之自定义组件的实现代码(附源码)
2018/08/02 Javascript
JavaScript实现省市联动效果
2019/11/22 Javascript
Js数组扁平化实现方法代码总汇
2020/11/11 Javascript
Python操作列表的常用方法分享
2014/02/13 Python
Python警察与小偷的实现之一客户端与服务端通信实例
2014/10/09 Python
django模板语法学习之include示例详解
2017/12/17 Python
Python 错误和异常代码详解
2018/01/29 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
Python中的全局变量如何理解
2020/06/04 Python
Jupyter安装链接aconda实现过程图解
2020/11/02 Python
护士自我评价范文
2014/01/25 职场文书
读书活动总结范文
2014/04/26 职场文书
经典演讲稿汇总
2014/05/19 职场文书
运动员口号
2014/06/09 职场文书
课内比教学心得体会
2014/09/09 职场文书
专职安全员岗位职责
2015/04/11 职场文书
小学生暑假生活总结
2015/07/13 职场文书
ORACLE数据库应用开发的三十个注意事项
2021/06/07 Oracle