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简介
Oct 09 PHP
PHP 事件机制(2)
Mar 23 PHP
php不写闭合标签的好处
Mar 04 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
PHP获取远程图片并保存到本地的方法
May 12 PHP
php实现爬取和分析知乎用户数据
Jan 26 PHP
初识PHP中的Swoole
Apr 05 PHP
php mongodb操作类 带几个简单的例子
Aug 25 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
PHP常用的类封装小结【4个工具类】
Jun 28 PHP
laravel邮件发送的实现代码示例
Jan 31 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 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
DOMXML函数笔记
2006/10/09 PHP
PHP闭包(Closure)使用详解
2013/05/02 PHP
使用PHP计算两个路径的相对路径
2013/06/14 PHP
PHP使用正则表达式清除超链接文本
2013/11/12 PHP
PHP使用静态方法的几个注意事项
2014/09/16 PHP
DEFER怎么用?
2006/07/01 Javascript
jscript之Read an Excel Spreadsheet
2007/06/13 Javascript
基于Jquery的开发个代阴影的对话框效果代码
2011/07/28 Javascript
JavaScript中setInterval的用法总结
2013/11/20 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
2015/08/24 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
JavaScript中使用数组方法汇总
2016/02/16 Javascript
jQuery获取字符串中出现最多的数
2016/02/22 Javascript
js与applet相互调用的方法
2016/06/22 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
2017/06/02 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
基于vue开发的在线付费课程应用过程
2018/01/25 Javascript
微信小程序自定义prompt组件步骤详解
2018/06/12 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
2020/08/28 Javascript
微信小程序中target和currentTarget的区别小结
2020/11/06 Javascript
Python操作CouchDB数据库简单示例
2015/03/10 Python
python3实现字符串的全排列的方法(无重复字符)
2018/07/07 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
python 求某条线上特定x值或y值的点坐标方法
2019/07/09 Python
python如何支持并发方法详解
2020/07/25 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
芝加哥牛排公司:Chicago Steak Company
2018/10/31 全球购物
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
办公室经理岗位职责
2014/01/01 职场文书
个人合伙协议书范本
2014/10/14 职场文书
2016三严三实专题教育活动心得体会
2016/01/06 职场文书
2016学习全国教书育人楷模先进事迹心得体会
2016/01/21 职场文书
Go结合Gin导出Mysql数据到Excel表格
2022/08/05 Golang