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 相关文章推荐
实用函数2
Nov 08 PHP
PHP设置图片文件上传大小的具体实现方法
Oct 11 PHP
自己写的php curl库实现整站克隆功能
Feb 12 PHP
php简单实现无限分类树形列表的方法
Mar 27 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
Dec 28 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
PHP实现批量检测网站是否能够正常打开的方法
Aug 23 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
Django 标签筛选的实现代码(一对多、多对多)
Sep 05 PHP
PHP PDOStatement::fetchColumn讲解
Jan 31 PHP
Yii框架ACF(accessController)简单权限控制操作示例
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
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
2013/06/20 PHP
PHP加密解密函数详解
2015/10/28 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
原生js实现查询天气小应用
2016/12/09 Javascript
vue.js将unix时间戳转换为自定义时间格式
2017/01/03 Javascript
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
2018/11/22 Javascript
javascrit中undefined和null的区别详解
2019/04/07 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
2019/10/30 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
Python调用C语言开发的共享库方法实例
2015/03/18 Python
Python获取网段内ping通IP的方法
2019/01/31 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
python输入中文的实例方法
2020/09/14 Python
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
美国在线印刷公司:PsPrint
2017/10/12 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
电子商务专员岗位职责
2013/12/11 职场文书
2014年纪检部工作总结
2014/11/12 职场文书
公司表扬信格式
2015/05/04 职场文书
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android